从前端发送多个文件到POST方法

时间:2016-10-28 05:46:25

标签: javascript java file attachment email-attachments

以下是我的代码示例:https://jsbin.com/qokiyomivu/edit?html,js,output

如何将多个文件发送到POST方法,然后将这些文件附加到Java方法的电子邮件中? 目前,如果我选择多个文件,则只发送一个文件并附加到用Java方法编写的电子邮件中。如何附加我选择的所有内容?

仅供参考,我在我的Bean中将filesToUpload声明为MultipartFile,如private MultipartFile filesToUpload

1 个答案:

答案 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。 如果您有大型文件,那么有一种技术可以将您的数据分块,但这需要一些工作才能开始运行。