JavaScript下载文件下载 [Blob]
HttpServletResponse下载压缩文件流报错,压缩文件错误或不可预料的压缩文件末端
错误可能
(0)如果用Blob处理response的流,则ajax请求中需要填写responseType: ‘blob’
(1)文件流没有正确关闭, 比如OutPutStream。
(2)文件流关闭顺序错误,应该按照先打开的流后关闭,后打开的流先关闭的顺序。
(3)在final中关闭流,但是return虽然是最后执行,但是如果return放在try里面,return会先报存结果,在finally执行后,再返回。导致文件流没有读取完整。 所以return应该放在方法的最后。
js处理后端返回字节流的代码
// ajax
export function exportXml(data) {return request({url: `${process.env.VUE_APP_API_MY}/transactionauditdata/v1/exportXml`,method: 'post',data: data, responseType: 'blob' // 声明返回的request为bolb格式,否则Blob处理流会报错})
}// download Function
export function commonDownload(res){// tar包,如果是zip,则为application/x-zip-compressedvar blob = new Blob([res.data], { type: 'application/x-tar' })let linkNode = document.createElement('a')linkNode.download = fileName + '.tar'linkNode.style.display = 'none'linkNode.href = URL.createObjectURL(blob)document.body.appendChild(linkNode)linkNode.click()URL.revokeObjectURL(linkNode.href)document.body.removeChild(linkNode)
}
JavaScript下载文件下载 [Blob]相关推荐
- javascript 大文件下载,分片下载,断点续传
javascript 大文件下载,分片下载,断点续传 文章目录 javascript 大文件下载,分片下载,断点续传 1:获取文件大小: 2:切片下载 3:合并数据 4:下载到本地 5:成功 6:完整 ...
- JavaScript 下载大文件解决方案(Blob+OjbectURL)
JavaScript 下载大文件解决方案(Blob+OjbectURL) 参考文章: (1)JavaScript 下载大文件解决方案(Blob+OjbectURL) (2)https://www.cn ...
- JavaScript多文件下载
对于文件的下载,可以说是一个十分常见的话题,前端的很多项目中都会有这样的需求,比如 highChart 统计图的导出,在线图片编辑中的图片保存,在线代码编辑的代码导出等等.而很多时候,我们只给了一个链 ...
- JavaScript 实现文件下载并重命名
JavaScript 实现文件下载并重命名 第一种是HTML官网中的方法 <a href="/images/liang.jpg" download="文件名称&qu ...
- 如何用 JavaScript 下载文件
简介 我们知道,下载文件是一个非常常见的需求,但由于浏览器的安全策略的限制,我们通常只能通过一个额外的页面,访问某个文件的 url 来实现下载功能,但是这种用户体验非常不好. 幸好,HTML 5 里面 ...
- javascript下载文件几种方式,接收后台返回流下载或直接下载文件
目录 1 javascript下载文件7中方式 1.1 window.location.href下载 1.2 window.location下载 1.3 iframe下载 1.4 form表单的形式下 ...
- js下载文件,javascript下载文件,FileSaver.js,页面元素保存成文件
js下载文件,javascript下载文件,FileSaver.js,页面元素保存成文件 ================================ ©Copyright 蕃薯耀 2020-07 ...
- JavaScript中的Blob你知道多少
很多开发者可能用过Blob,但是却并没有认真了解过Blob是什么?Blob的API有哪些?我们什么时候会用到Blob? 下面跟我一起详细了解下Blob吧~ 一.Blob 是什么 Blob(Binary ...
- 前端二进制流文件下载-Blob操作
前端如何实现文件下载 前端下载文件的方法有两种, 一种是后端返回下载的URL, 使用 Window.open(URL) 下载, 另一种就是后端直接返回文件的二进制内容,前端做转换再下载. 使用场景 如 ...
最新文章
- 【 FPGA 】UltraFast设计方法学:在Vivado中使用设计规则检查
- cmd.exe启动参数说明
- 前端学习(2645):懂代码之header表头页之未读消息
- python决策树的应用_机器学习-决策树实战应用
- pulsar常用命令
- iOS-FMDB 使用
- ubuntu vscode通过cmake配置c++和VS2019一样 进行调试
- Windows和Linux hosts 文件位置
- 如何解决This system is not registered with RHN.
- 【Unity】在Inspector上显示自定义的位掩码枚举(Flags)
- 客户合并修改需求 @熊哥
- 使用WinDbg搭建edk2 DEBUG环境
- docker部署es和kibana遇到的坑
- 2021-03-21 什么是鲁棒性?
- RNA m6A修饰问题汇总(第二期)
- word试题模板设计总结
- glut库更新旧程序无法完成编译问题描述
- springboot 出现A component required a bean of type ‘com.cly.dao.OthersMapper‘ that could not be found.
- 手把手教你 MySQL 入门,太全啦!!
- 泛型模版类出现了LNK2019: 无法解析的外部符号错误