multipartfile上传多文件,后端用对象接受
时间: 2023-09-03 21:13:02 浏览: 113
如果要上传多个文件,并使用对象来接收这些文件,可以创建一个包含 MultipartFile 类型的 List 对象,然后在前端使用多个 `<input type="file">` 标签来上传文件,后端就可以将这些文件添加到 List 对象中进行处理。以下是一个示例代码:
```java
@PostMapping("/upload")
public String uploadFiles(@RequestParam("files") List<MultipartFile> files) {
if (files.isEmpty()) {
return "No file received";
} else {
for (MultipartFile file : files) {
if (file.isEmpty()) {
return "File is empty";
}
// 处理文件上传
}
return "Files upload success";
}
}
```
在上述代码中,使用 List<MultipartFile> 类型的参数来接收上传的多个文件。通过判断 List 是否为空来确定是否收到了文件,然后逐一判断每个文件是否为空,如果有任何一个文件为空,则返回 "File is empty";否则进行文件上传处理。最后返回 "Files upload success" 表示所有文件上传成功。
需要注意的是,在前端需要使用多个 `<input type="file">` 标签来上传多个文件,并且每个标签的 name 属性应该相同,这样后端才能正确地将这些文件添加到 List 对象中。例如:
```html
<form method="post" enctype="multipart/form-data">
<input type="file" name="files" multiple>
<button type="submit">Upload</button>
</form>
```
在上述代码中,使用了 `multiple` 属性来允许同时选择多个文件,而 name 属性为 "files",表示上传的是一个名为 "files" 的文件组。
阅读全文