jQuery 文件上传:检测是否选择了相同的文件
jQuery File Upload: Detect if same file selected
我为我的网站使用 jQuery File Upload 插件。
用户按"浏览..."按钮我调用上传添加回调。但是,它会触发用户添加文件。即使他添加了相同的文件。
我需要的是为每个唯一文件仅触发一次uploadadd回调,或者获取文件的唯一标识符,以便我可以将其存储在文件数组中。在这种情况下,我可以检测文件是否已被选中。
我尝试使用回调函数的数据数组:
function (e, data) { }
但它只包含文件大小/文件名/文件类型信息,所以我无法从中创建唯一的哈希,因为两个或多个文件可以具有相同的信息。
这是我的代码:
$('#fileupload').fileupload({
url: "/upload/",
dataType: 'json',
autoUpload: false,
add: function (e, data) {
console.log(data.files[0]);
qcount += 1;
$('#select-button').text(qcount + ' files');
data.submit();
});
});
在Uploadify插件中,我可以使用onAddQueueItem回调,但jQuery-File-Upload似乎没有相同的功能。
提前感谢!
尝试这样的事情:
$('#fileupload').fileupload({
url: "/upload/",
dataType: 'json',
autoUpload: false,
add: function (e, data) {
data.files = $.map(data.files, function(file,i){
if ($.inArray(file.name,currentfiles) >= 0) {
alert("file exists");
return null;
}
return file;
});
console.log(data.files[0]);
qcount += 1;
$('#select-button').text(qcount + ' files');
data.submit();
});
});
您不必使用 file.name
.您可以使用 file.name
+ file.size
作为哈希。
相关文章:
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- java,javascript签名的小程序(文件选择,ftp上传)安全性/套接字异常
- 输入类型=“;文件“;onclick有效,但文件选择不显示
- 选择同一文件时未触发HTML输入文件选择事件
- 多个文件选择
- 当您选择不同的视图时,Google文件选择器示例会中断,例如google.picker.ViewId.DOCS
- JavaScript/HTML5音频:在Android Chrome中播放用户通过文件选择器加载的mp3文件
- 如何将文件选择器添加到angularjs模板中
- Angular文件上传插件:文件选择在Firefox中无法正常工作
- 从其他位置触发文件选择窗口
- IE8或IE9-支持多文件选择上传,无需Flash和HTML5
- 在windows8中,将“从文件选择器中拾取的文件”定义为Listview数据源
- 文件选择/文件API-将文件发送到嵌入式PDFObject
- 显示从文件选择器中选择的图像的图像缩略图
- 此api版本不支持onedrive文件选择器aadsts70001应用程序
- 在聚焦文本输入时触发文件选择
- Phonegap:解析从本机文件选择器获取 content:// URI
- HTML / JavaScript文件选择检查
- 如何在jquery中传递文件选择事件
- j查询文件选择与超链接