在使用HTML5文件API上传之前唯一标识文件
Uniquely identify files before uploading with the HTML5 file API
我正在使用HTML5文件API构建一个文件上传器。根据文件包含的实际数据,我想确保没有重复的文件被上传。这意味着两个文件应该被认为是相同的,即使它们的名称不同或位于不同的文件夹。
我考虑过用md5计算哈希值,但因为这一切都必须发生在客户端,使用javascript,更大的文件将花费太长时间。当我说大的时候,我指的是高达5gb的视频。
要清楚,这并不一定涉及校验和,我只想唯一地标识文件。对于这个目的,哈希可能有点过头了,但它是我首先想到的。
更新:我想我需要一个轻量级的指纹算法。我在维基百科上找到了Rabin作为一个例子,但我不知道如何在javascript中实现它。
没有捷径。如果您需要零歧义地识别重复文件,那么您必须读取并比较文件的完整内容。
但是如果你能忍受一定程度的误报,那么你可能会采取一些策略。对于类似的问题,我计算给定文件块子集的MD5哈希值(使用预定义的不变窗口)。
相关文章:
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 如何将HTML页面操作的范围限定为JS/Coffee文件中的唯一UserId
- 唯一标识文件而无需下载
- 仅将唯一文件添加到容器
- 下载js GET请求返回的带有唯一密钥的文件
- Node.js文件系统-保存唯一的文件名
- 如何在asp.net中根据屏幕大小加载唯一的css文件
- 插入唯一代码以下载文件
- 在使用HTML5文件API上传之前唯一标识文件
- 尝试使用javascript生成更多具有唯一名称的文件上传字段
- 使用react路由器为151个不同的配置文件创建一个唯一的显示页面
- 只使用原始html文件中的javascript从浏览器中获取唯一的标识号
- 如何使用nodejs创建具有唯一id的文件
- 如何在 JQuery AJAX 文件上传中添加唯一标识符