FormData 传递文件数组到 Java 后端的方法

在 HTML 表单中,使用 `FormData` 对象可以很方便地处理文件上传。但是,如果你需要将多个文件作为一个数组传递到 Java 后端,那么这个过程可能会稍微复杂一些。在这篇文章中,我们将探讨如何使用 `FormData` 来传递文件数组到 Java 后端。

首先,我们需要在 HTML 表单中定义多个文件输入字段,以便用户可以上传多个文件。例如:

html

在上面的代码中,我们使用了 `name="files[]"` 来指定文件字段为一个数组。

接下来,我们需要在 JavaScript 中使用 `FormData` 对象来构建请求体。当用户点击提交按钮时,我们可以这样处理表单:

javascript

document.getElementById('uploadForm').addEventListener('submit', function(e) {

e.preventDefault();

var formData = new FormData();

var files = document.querySelectorAll('input[type="file"]');

for (var i = 0; i < files.length; i++) {

var file = files[i].files[0];

formData.append('files[]', file);

}

// 发送 AJAX 请求到 Java 后端

var xhr = new XMLHttpRequest();

xhr.open('POST', '/upload', true);

xhr.send(formData);

});

在上面的代码中,我们遍历了所有的文件输入字段,并将每个文件添加到 `FormData` 对象中。然后,我们使用 `XMLHttpRequest` 对象发送一个 POST 请求到 Java 后端。

在 Java 后端,我们需要使用 `MultipartFile` 或 `MultipartFormDataRequest` 来

更多文章请关注《万象专栏》