springboot下载文件的方法是什么

avatar
作者
筋斗云
阅读量:3

在Spring Boot中,您可以使用以下方法来下载文件:

  1. 使用ResponseEntity<byte[]>返回文件数据和相关的HTTP头信息。
@GetMapping("/download") public ResponseEntity<byte[]> downloadFile() throws IOException {     // 从文件系统或其他来源获取文件     File file = new File("path/to/file");      // 将文件读入字节数组     byte[] fileContent = Files.readAllBytes(file.toPath());      // 设置HTTP头信息     HttpHeaders headers = new HttpHeaders();     headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);     headers.setContentDispositionFormData("attachment", file.getName());      // 返回ResponseEntity对象     return new ResponseEntity<>(fileContent, headers, HttpStatus.OK); } 
  1. 使用InputStreamResourceResponseEntity<InputStreamResource>返回文件的输入流和相关的HTTP头信息。
@GetMapping("/download") public ResponseEntity<InputStreamResource> downloadFile() throws IOException {     // 从文件系统或其他来源获取文件     File file = new File("path/to/file");      // 创建文件输入流     InputStreamResource resource = new InputStreamResource(new FileInputStream(file));      // 设置HTTP头信息     HttpHeaders headers = new HttpHeaders();     headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);     headers.setContentDispositionFormData("attachment", file.getName());      // 返回ResponseEntity对象     return ResponseEntity.ok()             .headers(headers)             .contentLength(file.length())             .body(resource); } 

这两种方法都可以用来下载文件,具体使用哪种方法取决于您的需求和偏好。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!