AjaxFileUpload.js 本身不支持批量上传,但您可以通过修改源代码或结合其他插件来实现批量上传功能。以下是一个简单的实现方法:
首先,确保您已经在项目中引入了 AjaxFileUpload.js。如果没有,请从官方网站下载并引入。
在 HTML 文件中,创建一个包含多个文件输入字段的表单:
<form id="uploadForm" enctype="multipart/form-data">
<input type="file" name="files[]" multiple>
<button type="submit">上传</button>
</form>
注意:multiple
属性允许用户选择多个文件,name="files[]"
使服务器能够接收多个文件,[]
表示这是一个文件数组。
AjaxFileUpload.js
文件中找到 sendRequest
函数,将以下代码:var formData = new FormData();
formData.append(this.options.fileElementId, file);
替换为:
var formData = new FormData();
for (var i = 0; i < fileList.length; i++) {
formData.append(this.options.fileElementId, fileList[i]);
}
这里,我们使用了一个循环来遍历所有选定的文件,并将它们添加到 formData
对象中。
batchUpload.js
),并在其中编写以下代码:$(document).ready(function () {
$('#uploadForm').submit(function (e) {
e.preventDefault();
var options = {
url: 'your_upload_url', // 您的上传 URL
secureuri: false,
fileElementId: 'files[]',
dataType: 'json',
success: function (data, status) {
console.log('上传成功:', data);
},
error: function (data, status, e) {
console.log('上传失败:', data);
},
};
$.ajaxFileUpload(options, function (data, status) {
// 这里可以处理服务器返回的响应,例如显示上传成功的文件列表等
});
});
});
这段代码会监听表单的提交事件,并在提交时使用修改后的 AjaxFileUpload.js
发送批量上传请求。
现在,您应该可以实现使用 AjaxFileUpload.js 进行批量上传的功能了。请注意,这个示例仅用于演示目的,您可能需要根据实际需求进行调整。