下面是我的代码示例:https://jsbin.com/qokiyomivu/edit?html,js,output
我如何发送多个文件到我的POST方法,然后附加这些与电子邮件从Java方法?目前,如果我选择多个文件,只有一个被发送并附加到用Java方法编写的电子邮件中。如何附加所有我选择的?
仅供参考,我已将filesToUpload声明为MultipartFile,如我的Bean中的private MultipartFile filesToUpload
。
这是一个很好的问题,我自己花了一些时间来完善一个很好的解决方案。我得出了:
$('#filesToUpload').change(function(e) {
$.each(e.currentTarget.files, function(i, file: File){
var xhr = new XMLHttpRequest();
xhr.onprogress = function (event) {
'do something'
};
xhr.onloadend = function(event){
var status = (<XMLHttpRequest>event.target).status;
if (status != 200) {
console.error(String.format("Server did not return a 200 but: {0}.", status));
}
else
'upload completed';
}
xhr.open('POST', 'urlpath', true);
xhr.send(file);
});
});
这将在每次更改时上传您的文件-但我展示此代码的主要目的是指导您使用XMLHttpRequest
。如果您有大文件,有一种技术可以将您的数据块化,但这需要一些工作来启动运行。