spring response download
时间: 2023-10-27 07:04:53 浏览: 68
在 Spring 中,可以使用下面这段代码实现文件下载:
```java
@GetMapping("/downloadFile")
public ResponseEntity<Resource> downloadFile(@RequestParam String fileName) {
// 获取要下载的文件
Resource resource = new FileSystemResource("/path/to/files/" + fileName);
// 设置响应头信息
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);
}
```
在上述代码中,我们首先要获取要下载的文件,然后设置响应头信息,最后将文件作为响应体返回即可。其中,`Content-Disposition` 响应头告诉浏览器要下载文件,而不是在浏览器中打开它。`MediaType.APPLICATION_OCTET_STREAM` 表示文件的 MIME 类型是二进制数据流。
阅读全文