spring boot 接受formdata 包含文件的数组对象
时间: 2023-11-27 09:52:43 浏览: 73
可以使用 `@RequestParam` 注解来接受 formdata 中的文件数组对象。具体步骤如下:
1. 创建一个表单,其中包含一个 file input,可以选择多个文件:
```html
<form method="POST" enctype="multipart/form-data" action="/upload">
<input type="file" name="files" multiple>
<button type="submit">上传</button>
</form>
```
2. 在控制器中创建一个方法来处理上传请求,使用 `@RequestParam` 注解来接受文件数组对象:
```java
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("files") MultipartFile[] files) {
// 处理文件上传逻辑
}
```
在上面的代码中,`@RequestParam("files")` 表示要接受名为 "files" 的参数,它是一个文件数组对象。`MultipartFile` 是 Spring 提供的一个文件上传对象,它封装了上传的文件内容、文件名等信息。
3. 处理文件上传逻辑,例如将文件保存到本地磁盘:
```java
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("files") MultipartFile[] files) {
for (MultipartFile file : files) {
if (!file.isEmpty()) {
try {
byte[] bytes = file.getBytes();
Path path = Paths.get(file.getOriginalFilename());
Files.write(path, bytes);
} catch (IOException e) {
e.printStackTrace();
}
}
}
return "redirect:/";
}
```
在上面的代码中,我们遍历了文件数组对象,对于每个文件,判断它是否为空,如果不为空,则将文件内容保存到本地磁盘上。最后返回一个重定向到首页的视图。
阅读全文