springboot编写下载文件网络接口
时间: 2023-10-14 09:06:12 浏览: 43
以下是一个简单的Spring Boot控制器,演示如何编写一个下载文件的网络接口:
```java
@RestController
@RequestMapping("/download")
public class DownloadController {
@GetMapping("/file")
public ResponseEntity<Resource> downloadFile() throws IOException {
// 读取要下载的文件
ClassPathResource resource = new ClassPathResource("example.txt");
// 设置响应头,告诉浏览器文件类型和文件名
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDisposition(ContentDisposition.attachment().filename("example.txt").build());
// 返回响应实体,包含要下载的文件和响应头
return ResponseEntity.ok()
.headers(headers)
.body(resource);
}
}
```
该控制器定义了一个`/download/file`的GET请求接口,用于下载名为`example.txt`的文件。使用`ClassPathResource`读取要下载的文件,设置响应头,然后返回一个包含文件和响应头的响应实体。
注意,这里的`MediaType`和`ContentDisposition`类需要使用`org.springframework.http`包下的,而不是`javax.ws.rs.core`下的。