当前位置:   article > 正文

SpringBoot返回文件给前端_springboot 返回文件给前端

springboot 返回文件给前端

主要代码如下:

/**
 * 通过HttpServletResponse将文件流返回给前端
 *
 * @param response HttpServletResponse在Controller层直接接收即可
 * @param is 需要返回的文件流
 * @param fileName 文件名
 * @return
 */
private static ResponseEntity<InputStreamResource> encapsulateResponseEntities(HttpServletResponse response, InputStream is, String fileName) throws IOException {
    //设置文件格式,我这里是excel,根绝实际应用场景改即可
    response.setContentType("application/msexcel");
    //设置文件名,设置字符集是避免文件名中有中文时出现乱码
    fileName = new String(fileName.getBytes(), StandardCharsets.ISO_8859_1);
    response.addHeader("Content-Disposition", "filename=" + fileName);
    OutputStream outputStream = response.getOutputStream();
    outputStream.write(is.readAllBytes());
    outputStream.close();
    return null;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

Controller层(Service层生成文件的代码略去):

@GetMapping("export")
public ResponseEntity<InputStreamResource> export(HttpServletResponse httpServletResponse) throws IOException {
    return wisdomScreenService.export(httpServletResponse);
}
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/815914
推荐阅读
相关标签
  

闽ICP备14008679号