spring boot 文件上传服务器
时间: 2024-07-19 17:01:17 浏览: 61
Spring Boot 提供了一种简单的方式来处理文件上传功能,通常通过整合第三方库如Apache Commons FileUpload、Spring MVC 或者 Spring WebFlux 来实现。以下是基本步骤:
1. 添加依赖:在项目中引入文件上传相关的依赖,例如 Spring WebMultipart 或者 Apache Commons FileUpload。
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 如果使用Commons FileUpload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</dependency>
```
2. 配置multipart配置:在application.properties或application.yml文件中设置Spring MVC的multipart配置,指定上传文件的临时目录。
```yaml
server:
servlet:
multipart:
location: /tmp/uploaded-files
```
3. 创建控制器:创建一个Controller处理文件上传请求,比如`FileUploadController`。
```java
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
@Controller
public class FileUploadController {
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) throws IOException {
if (file.isEmpty()) {
return "error";
}
// 保存文件到服务器路径或其他操作
String savePath = "/path/to/save/" + file.getOriginalFilename();
file.transferTo(new File(savePath));
return "success";
}
}
```
4. HTML表单:提供前端界面让用户选择文件并提交,一般使用HTML `<input type="file">` 和 `form` 标签。
```html
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit">上传</button>
</form>
```