fohrloop / dash-uploader

The alternative upload component for python Dash applications.
MIT License
144 stars 30 forks source link

FR: Exclude files already present. #80

Open sorenwacker opened 2 years ago

sorenwacker commented 2 years ago

It would be nice if duplicate uploads could be prevented somehow. I sometimes have a thousand files, and I am not sure which ones are already on the server. Uploading the whole batch is wasteful and looking through each file is tedious. Maybe a list of filenames to blacklist would be good.

BTW I like that the upload ignores files with the wrong extension instead of raising an alarm. I know that is what you would like to implement. If so, please make it optional.

fohrloop commented 2 years ago

I think there could be a logic that is user-controllable: Either reupload files with same name or do not reupload. Maybe in the future it could also check the file size and/or last modified date (not sure how easy that would be).

One potential problem with this might arise if uploading a file structure with subfolders is supported in such a way that files are always put into a folder structure at the server side. This is because I'm unsure if all the browsers support sending the relative filepath of the selected files, if they are inside a subfolder. If user first uploads with Chrome (that supports sending relative filepaths), and then re-uploads with different browser (which does not support relative filepaths), the files could be mistakenly intepreted to be "missing".

The current version in the dev branch raises an alarm for wrong extensions and does not upload them, but continues the upload process for the rest of the files. I think there could be added different options in the future ("raise error and do not continue", "silently continue" ,... etc), if needed.