SpringBoot 下载文件
时间: 2023-08-23 08:33:46 浏览: 74
在Spring Boot中,可以使用Spring MVC的文件上传和下载功能来实现文件下载。以下是一个简单的示例:
1. 创建一个控制器类,添加一个映射到下载文件的请求方法:
```java
@RestController
public class FileDownloadController {
@GetMapping("/download")
public ResponseEntity<Resource> downloadFile() throws IOException {
File file = new File("/path/to/your/file");
InputStreamResource resource = new InputStreamResource(new FileInputStream(file));
HttpHeaders headers = new HttpHeaders();
headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + file.getName());
return ResponseEntity.ok()
.headers(headers)
.contentLength(file.length())
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.body(resource);
}
}
```
2. 在上面的代码中,我们创建了一个`File`对象,将其作为一个输入流并将其封装在一个`InputStreamResource`对象中。同时,我们设置了响应的内容类型和头信息,以便浏览器可以将文件下载到本地。
3. 最后,我们将`ResponseEntity`对象作为响应主体返回,其中包含了`InputStreamResource`对象和文件大小等信息。
请注意,我们使用`MediaType.APPLICATION_OCTET_STREAM`来指定响应的`Content-Type`为二进制流。如果您要下载其他类型的文件,请相应地更改`MediaType`的值。
在启动应用程序后,您可以通过访问`http://localhost:8080/download`来下载文件。请确保将`/path/to/your/file`替换为您实际的文件路径。
阅读全文