miniserve icon indicating copy to clipboard operation
miniserve copied to clipboard

Save uploaded file atomically

Open ubruhin opened this issue 3 months ago • 2 comments

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.

ubruhin avatar Mar 21 '24 17:03 ubruhin