springboot多文件上传
时间: 2023-08-17 19:08:59 浏览: 79
在Spring Boot中实现多文件上传可以通过以下步骤进行操作:
1. 在`pom.xml`文件中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
```
2. 创建一个Controller类来处理文件上传的请求:
```java
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
@Controller
public class FileUploadController {
@PostMapping("/upload")
public String uploadFiles(@RequestParam("files") MultipartFile[] files) {
String uploadDir = "path/to/upload/directory"; // 设置上传文件的目录
// 创建目录(如果目录不存在)
File dir = new File(uploadDir);
if (!dir.exists()) {
dir.mkdirs();
}
// 处理每个上传的文件
for (MultipartFile file : files) {
String fileName = StringUtils.cleanPath(file.getOriginalFilename());
try {
// 保存文件到指定目录
file.transferTo(new File(uploadDir + "/" + fileName));
} catch (IOException e) {
e.printStackTrace();
}
}
return "redirect:/success"; // 重定向到上传成功页面
}
}
```
3. 创建一个HTML表单来上传多个文件:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>File Upload</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="files" multiple>
<input type="submit" value="Upload">
</form>
</body>
</html>
```
4. 运行Spring Boot应用程序,并访问上传文件的HTML表单页面。选择多个文件并点击上传按钮,文件将会保存在指定的上传目录中。
请注意,上述代码中的`uploadDir`变量应该设置为实际的上传目录路径。此外,还可以根据需要添加适当的错误处理和验证逻辑。