概述
工作中涉及到多个 input 为 file 类型的文件传到后台处理。
解决思路
html 表单如下结构
<form id="form" enctype="multipart/form-data">
<input type="file" name="attachment">
<input type="file" name="attachment">
<input type="file" name="attachment">
</form>
js 代码如下,此处使用 jQuery 的 ajax 请求
$.ajax({
url: 'save',
type: 'post',
contentType: false,
data: new FormData($('#form')[0]),
success: function(result) {
},
error: function(err) {
}
})
不使用 jQuery 处理以上代码
let formData = new FormData(document.querySelector('#form'))
let request = new XMLHttpRequest();
request.open('POST', 'url')
request.send(formData)
java(springMVC) 的 controller 代码如下
@RequestMapping(value = "save", method = RequestMethod.POST)
public @ResponseBody Object save(MultipartFile attachment
, HttpServletRequest request) throws Exception {
/* attachment 为 input 的 name,这样就可以获取所有文件的数组了。*/
return results;
}