以下是我的代码示例:https://jsbin.com/qokiyomivu/edit?html,js,output
如何将多个文件发送到POST方法,然后将这些文件附加到Java方法的电子邮件中? 目前,如果我选择多个文件,则只发送一个文件并附加到用Java方法编写的电子邮件中。如何附加我选择的所有内容?
仅供参考,我在我的Bean中将filesToUpload声明为MultipartFile,如private MultipartFile filesToUpload
。
答案 0 :(得分:0)
这是一个很好的问题,我自己花了一些时间来改进一个好的解决方案。 我出来了:
$('#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);
});
});
Thsi会在每次更改时上传您的文件 - 但我的主要目的是展示此代码,引导您走向XMLHttpRequest
。
如果您有大型文件,那么有一种技术可以将您的数据分块,但这需要一些工作才能开始运行。