我有一些输入字段和一个文件输入字段只是正常的形式。 我用的是Blueimp的jQuery的文件上传插件上传文件。 它似乎工作,如果你选择一个文件,之后点击上传按钮。 但是,如果你重新选择要上传的文件,这样可以节省选择所有的史前史和上传后发送的所有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
}
});
});
我发现这里的解决方案( 如何使用blueimp文件上传插件上传文件只有一次? )似乎不是最好的方法(我认为这是肮脏的),因为刚刚解除绑定click事件仍然不能解决收集的问题以前选择的所有文件(一种内存泄漏)
选项maxNumberOfFiles: 1
不适合我的工作。