【发布时间】:2014-01-27 20:22:41
【问题描述】:
我正在使用表单上传多个文件。我有以下内容:
<input id="files" name="files[]" type="file" value="Add files..." multiple/>
<input id="addfiles" value="Add" type="button"/>
和
$("#addfiles").click(function() {
f = $("#files").prop("files");
for (index = 0; index < f.length; ++index) {
if (!is_in_queue(f[index]))
{
queue.push(f[index]);
[...]
如何比较两个 File 对象?我需要对is_in_queue 进行比较。不幸的是,我只看到设置了 name 属性,但没有设置路径(它是空的)。这意味着基于name 的比较对于不同路径中具有相同名称的文件将失败。
更新:理想情况下,我希望在客户端完成此操作。用户在上传之前需要为每个上传的文件设置一些参数,我想避免重复这个工作量。
【问题讨论】:
-
也许保留内容的哈希或校验和并与之匹配? How to calculate md5 hash of a file using javascript
-
这是一个想法。但理论上,两个不同的文件可能具有相同的内容(尽管不太可能)。
-
也许保留名称和校验和,只是希望
file.txt不会同时出现在两个地方?再说一遍 - 如果他们确实有相同的内容,那不是你想要避免的吗? :) -
@h2ooooooo:你说得对,谢谢
-
不,不是。我试图避免两次将相同的文件添加到队列中。
标签: javascript html file-upload