使用 Spring Boot 来处理文件下载的逻辑
时间: 2023-02-17 08:41:21 浏览: 58
使用 Spring Boot 处理文件下载的逻辑非常简单。首先,你需要在你的 Spring Boot 应用中配置一个控制器来处理文件下载请求。在控制器中,你可以使用 `ResponseEntity` 类来构建一个响应,其中包含你要下载的文件的内容。
下面是一个示例代码,展示了如何使用 Spring Boot 来处理文件下载请求:
```
@RestController
public class FileDownloadController {
@GetMapping("/download")
public ResponseEntity<InputStreamResource> downloadFile(@RequestParam String fileName) throws IOException {
// 读取文件内容
File file = new File(fileName);
InputStream inputStream = new FileInputStream(file);
// 构建响应
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Disposition", "attachment; filename=" + fileName);
return ResponseEntity.ok().headers(headers).body(new InputStreamResource(inputStream));
}
}
```
在上面的代码中,我们定义了一个名为 `downloadFile` 的方法,它接受一个名为 `fileName` 的参数,表示要下载的文件的名称。我们使用 `File` 类读取文件内容,然后使用 `HttpHeaders` 和 `InputStreamResource` 来构建响应。最后,我们使用 `ResponseEntity.ok()` 方法将响应发送给客户端。
在浏览器中访问 `/download?fileName=<file-name>` 即可下载文件。