springboot项目后端怎么设置这个接口访问就下载文件
时间: 2023-12-03 07:44:58 浏览: 44
在 Spring Boot 项目中,可以通过设置响应头来实现文件下载。以下是一个示例代码:
```java
@GetMapping("/download")
public ResponseEntity<Resource> downloadFile() {
// 从文件系统或其他地方获取文件
Resource resource = ...;
// 设置响应头
HttpHeaders headers = new HttpHeaders();
headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + resource.getFilename());
// 返回响应实体
return ResponseEntity.ok()
.headers(headers)
.contentLength(resource.contentLength())
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.body(resource);
}
```
在上面的示例中,我们首先获取要下载的文件,然后设置响应头,告诉浏览器该文件是一个附件,需要下载而不是在浏览器中打开。最后,将文件作为响应主体返回给客户端。
请注意,上述代码假设您已经有了一个 `Resource` 对象,可以从文件系统或其他地方获取。如果您需要将文件从数据库中检索出来,您需要根据数据库类型和存储方式编写相应的代码。