新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

spring实现文件下载的有哪些方法,spring 下载文件

发布时间:2024-06-07 18:38:36

spring实现文件下载的有哪些方法

在Spring中实现文件下载可使用以下方法:

  1. 使用 ResponseEntity 返回文件流:
@GetMapping("/downloadFile")
public ResponseEntity<Resource> downloadFile() {
    Resource resource = new FileSystemResource("path/to/file.txt");
    
    HttpHeaders headers = new HttpHeaders();
    headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=file.txt");
    
    return ResponseEntity
            .ok()
            .headers(headers)
            .contentLength(resource.contentLength())
            .contentType(MediaType.APPLICATION_OCTET_STREAM)
            .body(resource);
}
  1. 使用 HttpServletResponse 输出文件流:
@GetMapping("/downloadFile")
public void downloadFile(HttpServletResponse response) {
    File file = new File("path/to/file.txt");
    
    response.setContentType(MediaType.APPLICATION_OCTET_STREAM.toString());
    response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=file.txt");
    response.setContentLength((int) file.length());
    
    try (
        InputStream inputStream = new FileInputStream(file);
        OutputStream outputStream = response.getOutputStream();
    ) {
        IOUtils.copy(inputStream, outputStream);
        outputStream.flush();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

这两种方法都可以实现文件下载,第一种方法使用 ResponseEntity 返回文件资源,第二种方法直接使用 HttpServletResponse 输出文件流。您可以根据自己的需求选择其中一种方法来实现文件下载。

tiktok粉丝购买:https://www.smmfensi.com/