我想用Html5实现可恢复的上传,一切似乎都有效,除了确定要上传的文件是已经部分上传的文件。理想情况下,我会对生成唯一ID的文件进行客户端散列 - 但是我找不到它的任何工作实现,对于大文件来说似乎太慢了(就像我正在处理的那样)。
接下来,我考虑使用文件的路径作为唯一标识符,但我没有看到任何方法从API获取它。文件名,即使考虑每个用户的文件名也不能是唯一的,因为用户往往具有文件的通用名称。任何人都可以为此考虑解决方案?
答案 0 :(得分:1)
我猜你最好选择的是一些简单的哈希(MD5在大文件上运行得太慢而非常有用)。
替代方法:按文件名命名上传(当上传多个具有相同名称的文件时,以及某种运行编号,例如file-1,file-2,file-3),并检查随机字节已经上传的文件和本地文件。例如:
当然这可能导致错误的文件,但散列也是如此。
答案 1 :(得分:0)
正如Mozilla Hacks的How to resume a paused or broken file upload所述,也许您可以使用IndexedDB将文件存储在浏览器中,这样您就可以继续上传而无需用户重新选择文件。
有关如何使用IndexedDB存储文件的教程,请参阅Storing images and files in IndexedDB。