miniserve
miniserve copied to clipboard
Save uploaded file atomically
It seems when uploading a file, the file is immediately created and any incoming data is written into it. However, this means the file is incomplete/invalid during the upload and there's no way to know as a user (or, in my case a tool processing the uploaded files) whether a file is complete or not. I didn't check what happens when an upload is aborted/fails, is the incomplete file then even left over?
Anyway, IMHO the upload would be much safer if the file is saved atomically. Just as a simple idea, the upload could be performed into a temporary file (e.g. ending with ~
) and renamed when the upload succeeded. This way it is visible for humans and detectable by tools which files are incomplete.