前端get请求接收后端传来的二进制文件流blob实现下载功能,解决下载文件打不开问题
解决方法:
前端在请求下载文件接口时,要设置responseType为blob。
前端代码:
export function download(url, params) {return request({url: url + '?' + qs.stringify(params, { indices: false }),method: 'get',responseType: 'blob'})
}
后端下载文件接口:
- 控制器:
@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();}
- 下载文件工具类
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实现下载功能,解决下载文件打不开问题相关推荐
- 使用layui在前端接收后端的图片流来显示二维码,在前端使用iframe接收后端流来预览pdf
消息弹框的形式 因为我是在生成二维码之后,用zxing的工具类输出的流 所以这里介绍一下我用到的工具类的依赖 gradle // https://mvnrepository.com/artifact/ ...
- 前端发送请求到后端报400错误问题
一般情况下,前端发送请求到后端,报400是由于前后端json对象中的属性名与后端接收请求的实体类的属性名不对应(完全相同)引起的.排除400错误的方法如下: 1.前端发送的属性名和后端实体类的属性名不 ...
- 前端发起请求,后端响应请求的整个过程
文章目录 前端 注册页面 axios 请求方法 URL 路径配置 自定义 axios 方法封装 后端 创建服务器模块 接口方法模块 连接数据库 本文分为:前端.后端两部分讲诉.以下是前端发送请求到服务 ...
- thinkphp 前端页面js接收后端传过来的数据
后端接口: 前端页面:
- 前端接收后端返回的集合数据并展示
前端通过AJAX接收后端返回的数据 我们想要实现的功能是:通过ajax接收后端传过来的list集合,然后将数据转换并在前端页面的表格中展示.经过两天的修改,终于探索出了代码.表格展示用的是elemen ...
- vue下载表格为excel文件,需要后端传递list集合
一次学习记录 原文链接:(16条消息) Vue--表格导出excel(导出table表格所有数据)_Hsu yiqi的博客-CSDN博客_vue表格导出excelhttps://blog.csdn.n ...
- 前端传值,java后端接收
1. 前端多个对象数组的JSON.stringify转化为字符串传参,后端集合对象接收: var arr = [ 0, 1, 2]; var myJSON = JSON.stringify(arr); ...
- golang后端php前端,Golang如何接收前端的参数
使用Golang开发web后台,需要接收前端传来的参数并作出响应,那么Golang该如何接收前端的参数呢?一起来看下吧. Golang如何接收前端的参数 1.首先,创建一个Golang web服务.p ...
- 前后端分离时ajax发送请求时后端能接送,但是前端的response为空时
困扰了一天的问题,使用ajax向后端发送请求,后端成功接收并且处理,但是返回前端时在前端调用response时发现后端返回的数据为空 . success:function (response) {if ...
最新文章
- Spring Boot + Vue 如此强大?
- B站疯传!拿走不谢!最全面的JAVA面试材料!完整版开放下载,叫我好人!
- mysql试题百度云_BATJ大厂600多道技术面试题及答案解析
- kafka2.5.0创建主题topic命令
- 测验8.2 指针与字符串 6-1 函数实现字符串逆序
- MySQL删除主键的操作方法
- 计算机的两个基本能力是存储程序,【2012年职称计算机模拟题(55)】- 环球网校...
- tensorflow 启动Session(tf.Session(),tf.InteractivesSession(),tf.train.Supervisor().managed_session() )
- c语言 方程改main的值_C语言和汇编语言是什么?他们之间可以有怎样的合作?为你解析...
- 探索Google App Engine背后的奥秘(5)- Datastore的设计(转载)
- Windows2008r2如何关闭防火墙
- PHP数组实现菜单无限极分类
- c语言编程的头文件是什么,C语言头文件到底是什么?
- 零售的哲学前三章读后感
- 菠萝V1mini是以太坊唯一的静音机器
- 京东充值系统现漏洞 被恶意盗刷
- This is probably not a problem with npm. There is likely additional logging 报错
- Unity3d+moba+草丛视野
- 双柱状图与双折线图混合
- 使用Python中的Button组件制作按钮