springboot如何实现文件打包下载
时间: 2024-01-09 22:06:14 浏览: 51
Java开发案例-springboot-10-整合MinIO实现文件上传与下载-源代码+文档.rar
Spring Boot 可以通过控制器来实现文件的打包下载。具体步骤如下:
1. 在控制器中添加一个方法,该方法返回一个 ResponseEntity 对象,并指定文件的 MediaType 和 Content-Disposition 头信息。
2. 使用 Java NIO 的 Files 类把要下载的文件读入到一个 byte 数组中。
3. 将 byte 数组作为 ResponseEntity 的 body 返回。
以下是一个示例代码:
```java
@GetMapping("/download")
public ResponseEntity<byte[]> downloadFile() throws IOException {
// 读取要下载的文件
Path file = Paths.get("path/to/file");
byte[] data = Files.readAllBytes(file);
// 设置响应头信息
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDisposition(ContentDisposition.attachment().filename(file.getFileName().toString()).build());
// 返回响应实体
return new ResponseEntity<>(data, headers, HttpStatus.OK);
}
```
在上面的代码中,我们使用了 `Files.readAllBytes()` 方法将文件读入到一个 byte 数组中,然后使用 `HttpHeaders` 设置了响应头信息,并将 byte 数组作为响应实体的 body 返回。客户端浏览器会自动弹出文件下载对话框。
阅读全文