java Springboot 下载文件代码
时间: 2024-03-08 09:47:01 浏览: 26
以下是使用 Spring Boot 下载文件的示例代码:
```java
@GetMapping("/download")
public ResponseEntity<Resource> downloadFile(@RequestParam String fileName) {
// 获取文件资源
Resource resource = new FileSystemResource("/path/to/files/" + fileName);
// 设置 Content-Disposition 头部信息,指定文件名和文件类型
HttpHeaders headers = new HttpHeaders();
headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + fileName + "\"");
return ResponseEntity.ok()
.headers(headers)
.contentLength(resource.contentLength())
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.body(resource);
}
```
在上面的代码中,我们首先获取文件资源,然后设置 Content-Disposition 头,指定文件名和文件类型,最后将文件资源作为响应的主体返回。
需要注意的是,这里使用了 `ResponseEntity` 对象来设置响应的头部信息、状态码和主体内容。同时,我们也设置了 Content-Type 为 `APPLICATION_OCTET_STREAM`,表示这是一个二进制文件流,可以用于下载任何类型的文件。