解决方法:
        前端在请求下载文件接口时,要设置responseType为blob。
前端代码:

export function download(url, params) {return request({url: url + '?' + qs.stringify(params, { indices: false }),method: 'get',responseType: 'blob'})
}

后端下载文件接口:

  1. 控制器:
 @ApiOperation(value = "下载模板" , notes = " \n author:LiFang ")@GetMapping("/downloadTemplate")public Result<Void> downloadTemplate(HttpServletRequest request, HttpServletResponse response) throws FileNotFoundException {File file = ResourceUtils.getFile("classpath:template/excel/学生信息模板.xlsx");FileUtils.downloadFile(request, response, file, false);return Result.success();}
  1. 下载文件工具类
    FileUtils.java
public class FileUtils extends cn.hutool.core.io.FileUtil {public static void downloadFile(HttpServletRequest request, HttpServletResponse response, File file,boolean deleteOnExit) {response.setCharacterEncoding(request.getCharacterEncoding());response.setContentType("application/octet-stream");FileInputStream fis = null;try {fis = new FileInputStream(file);response.setHeader("Content-Disposition", "attachment; filename=" + file.getName());IOUtils.copy(fis, response.getOutputStream());response.flushBuffer();} catch (Exception e) {e.printStackTrace();} finally {if (fis != null) {try {fis.close();if (deleteOnExit) {file.deleteOnExit();}} catch (IOException e) {e.printStackTrace();}}}}
}

https://www.cnblogs.com/zhusf/p/11123464.html
https://tool.oschina.net/commons/
https://www.cnblogs.com/lyz1991/p/11468895.html

前端get请求接收后端传来的二进制文件流blob实现下载功能,解决下载文件打不开问题相关推荐

  1. 使用layui在前端接收后端的图片流来显示二维码,在前端使用iframe接收后端流来预览pdf

    消息弹框的形式 因为我是在生成二维码之后,用zxing的工具类输出的流 所以这里介绍一下我用到的工具类的依赖 gradle // https://mvnrepository.com/artifact/ ...

  2. 前端发送请求到后端报400错误问题

    一般情况下,前端发送请求到后端,报400是由于前后端json对象中的属性名与后端接收请求的实体类的属性名不对应(完全相同)引起的.排除400错误的方法如下: 1.前端发送的属性名和后端实体类的属性名不 ...

  3. 前端发起请求,后端响应请求的整个过程

    文章目录 前端 注册页面 axios 请求方法 URL 路径配置 自定义 axios 方法封装 后端 创建服务器模块 接口方法模块 连接数据库 本文分为:前端.后端两部分讲诉.以下是前端发送请求到服务 ...

  4. thinkphp 前端页面js接收后端传过来的数据

    后端接口: 前端页面:

  5. 前端接收后端返回的集合数据并展示

    前端通过AJAX接收后端返回的数据 我们想要实现的功能是:通过ajax接收后端传过来的list集合,然后将数据转换并在前端页面的表格中展示.经过两天的修改,终于探索出了代码.表格展示用的是elemen ...

  6. vue下载表格为excel文件,需要后端传递list集合

    一次学习记录 原文链接:(16条消息) Vue--表格导出excel(导出table表格所有数据)_Hsu yiqi的博客-CSDN博客_vue表格导出excelhttps://blog.csdn.n ...

  7. 前端传值,java后端接收

    1. 前端多个对象数组的JSON.stringify转化为字符串传参,后端集合对象接收: var arr = [ 0, 1, 2]; var myJSON = JSON.stringify(arr); ...

  8. golang后端php前端,Golang如何接收前端的参数

    使用Golang开发web后台,需要接收前端传来的参数并作出响应,那么Golang该如何接收前端的参数呢?一起来看下吧. Golang如何接收前端的参数 1.首先,创建一个Golang web服务.p ...

  9. 前后端分离时ajax发送请求时后端能接送,但是前端的response为空时

    困扰了一天的问题,使用ajax向后端发送请求,后端成功接收并且处理,但是返回前端时在前端调用response时发现后端返回的数据为空 . success:function (response) {if ...

最新文章

  1. Spring Boot + Vue 如此强大?
  2. B站疯传!拿走不谢!最全面的JAVA面试材料!完整版开放下载,叫我好人!
  3. mysql试题百度云_BATJ大厂600多道技术面试题及答案解析
  4. kafka2.5.0创建主题topic命令
  5. 测验8.2 指针与字符串 6-1 函数实现字符串逆序
  6. MySQL删除主键的操作方法
  7. 计算机的两个基本能力是存储程序,【2012年职称计算机模拟题(55)】- 环球网校...
  8. tensorflow 启动Session(tf.Session(),tf.InteractivesSession(),tf.train.Supervisor().managed_session() )
  9. c语言 方程改main的值_C语言和汇编语言是什么?他们之间可以有怎样的合作?为你解析...
  10. 探索Google App Engine背后的奥秘(5)- Datastore的设计(转载)
  11. Windows2008r2如何关闭防火墙
  12. PHP数组实现菜单无限极分类
  13. c语言编程的头文件是什么,C语言头文件到底是什么?
  14. 零售的哲学前三章读后感
  15. 菠萝V1mini是以太坊唯一的静音机器
  16. 京东充值系统现漏洞 被恶意盗刷
  17. This is probably not a problem with npm. There is likely additional logging 报错
  18. Unity3d+moba+草丛视野
  19. 双柱状图与双折线图混合
  20. 使用Python中的Button组件制作按钮

热门文章

  1. 慕课网:C++ 数据结构
  2. k8s-存储插件:cfs运行机制
  3. 游承超:教你如何鉴别手机钢化玻璃贴膜的质量(7P)
  4. 提升开发效率的小工具类
  5. python中txt转成csv_python 快速把超大txt文件转存为csv的实例
  6. 火车站(stack)
  7. Servlet生命周期(代码+图示)
  8. 骨传导耳机牌子排行、骨传导蓝牙耳机买什么牌子好
  9. url参数拼接 php,PHP - http_build_query方法详解(自动拼接生成URL参数字符串)
  10. Mybatis框架简介