【发布时间】:2014-03-26 19:42:08
【问题描述】:
我有一个表单,它允许在动态添加到表单的各个字段中上传文件。我正在使用 Blueimp 的 jQuery 文件上传插件。我正在尝试在一个请求中发送多个文件。我不希望发送多个请求。当我提交表单时,要上传的文件不包含在请求中。我在 add 方法的 filesList 数组中维护它们,并确保覆盖现有值。然后我使用发送选项发送文件。但是,它们不包含在 ajax 帖子中。我错过了什么?我在网上看到其他人试图做到这一点。但是,我还没有找到一个可靠的工作示例。以下是我的代码:
var fileList = [],
exists = false;
$form.fileupload({
autoUpload: false,
singleFileUpload: false,
url: '/handler.php',
add: function(e, data) {
exists = false;
for(var i = 0, len = filesList.length; i < len; i++) {
if(filesList[i].paramName === data.paramName) {
// file already exists for this param, replace it
exists = true;
filesList[i] = data;
break;
}
}
// no file exists for this param, add it to array
if(!exists) {
filesList.push(data);
}
$form.off('submit').one('submit', function(e) {
$form.fileupload('send', {
files: filesList
});
return false;
});
}
})
【问题讨论】:
标签: jquery jquery-file-upload blueimp