springboot文件的上传和下载
时间: 2023-04-19 10:04:23 浏览: 86
Spring Boot提供了多种方式来实现文件的上传和下载,以下是其中两种常用的方式:
1. 使用Spring MVC的MultipartResolver实现文件上传
在Spring Boot中,可以通过在Controller中添加MultipartFile类型的参数来接收上传的文件。具体步骤如下:
1)在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
```
2)在Controller中添加以下代码:
```
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
// 处理上传的文件
return "success";
}
```
3)在HTML页面中添加以下代码:
```
<form method="post" enctype="multipart/form-data" action="/upload">
<input type="file" name="file"/>
<input type="submit" value="上传"/>
</form>
```
2. 使用Spring Boot的ResourceHandler实现文件下载
在Spring Boot中,可以通过配置ResourceHandler来实现文件下载。具体步骤如下:
1)在application.properties文件中添加以下配置:
```
spring.resources.static-locations=file:/path/to/files/
```
其中,/path/to/files/为文件所在的目录。
2)在Controller中添加以下代码:
```
@GetMapping("/download/{fileName:.+}")
public ResponseEntity<Resource> downloadFile(@PathVariable String fileName) {
Resource resource = new FileSystemResource("/path/to/files/" + fileName);
return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + resource.getFilename() + "\"")
.body(resource);
}
```
其中,/path/to/files/为文件所在的目录。
3)在HTML页面中添加以下代码:
```
<a href="/download/fileName">下载</a>
```
其中,fileName为要下载的文件名。