Instead of using a temporary file to allow checks with `realpath()` to succeed, use the new `resolve_path()` helper added in a9a629b012 to replace the `realpath()` usage and allow for path resolution of files that don't exist yet.
This will allow new asset files to still be saved correctly, whilst still preventing paths outside of the assets directory to be used.
Replaces b1954e9258.