sta*_*tic 7 jquery file-upload xmlhttprequest blueimp
我只有一些输入字段和一个文件输入字段的普通表单.我使用Blueimp的Jquery File Upload插件上传文件.它似乎工作,如果您选择一个文件,然后单击上传按钮.但是,如果您重新选择要上传的文件,它会保存所有选择的史前文章,并在上传后将所有XHR发送到服务器.
我只想上传一个当前选定的文件,而不是所有以前选择的文件(在文件打开对话框中).
这是我的js模块来处理上传:
$(function () {
$('#upload_form').fileupload({
dataType: 'json',
autoUpload: false,
fileInput: '#filechose_button',
replaceFileInput: false,
maxNumberOfFiles: 1,
multipart: true,
add: function (e, data) {
$('#upload_button').click(function () {
$('#upload_button').attr('disabled', true);
...
data.submit();
...
});
},
done: function (e, data) {
... // successfully uploaded
},
progressall: function (e, data) {
... // update a progress bar
}
});
});
Run Code Online (Sandbox Code Playgroud)
我在这里找到的解决方案(如何使用blueimp文件上传插件只上传一次文件?)似乎不是最好的方式(我认为它很脏),因为解锁click事件仍然无法解决收集问题所有以前选择的文件(内存泄漏的种类)
该选项maxNumberOfFiles: 1
对我不起作用.
小智 8
我有同样的问题,我的解决方案是取消绑定我的按钮的click事件,并在调用add事件时将其绑定回来.试试这个.
...
add: function (e, data) {
$('#upload_button').unbind('click');
data.context = $('#upload_button').bind('click', function () {
...
data.submit();
}
}
Run Code Online (Sandbox Code Playgroud)