前端将后端返回的文件流转为excel并下载
也算是自己的一个总结吧
在遇到后端给前端返回的一个文件流的注意事项
首先自己封装了一个方法 放在了utils里面
export function exportFile(data, type, fileName) {const blob = new Blob([data], {// type类型后端返回来的数据中会有,根据自己实际进行修改// 表格下载为 application/xlsx,压缩包为 application/zip等,type: type})const filename = fileNameif (typeof window.navigator.msSaveBlob !== 'undefined') {window.navigator.msSaveBlob(blob, filename)} else {var blobURL = window.URL.createObjectURL(blob)// 创建隐藏<a>标签进行下载var tempLink = document.createElement('a')tempLink.style.display = 'none'tempLink.href = blobURLtempLink.setAttribute('download', filename)if (typeof tempLink.download === 'undefined') {tempLink.setAttribute('target', '_blank')}document.body.appendChild(tempLink)tempLink.click()document.body.removeChild(tempLink)// 移除dom元素window.URL.revokeObjectURL(blobURL)// 释放bolb内存}
}
其次就是 调用接口了
在调用接口 我是有封装 axios
所以 在写接口的时候 要注意加上 responseType: 'blob'
export function Report(data) {return request({url: 'url',method: 'post',responseType: 'blob',data})
}
接下来就是在组件中去调用
Report(this.data).then((res) => {const fileName = 'xxx报表'const contentType ='application/vnd.ms-excel'exportFile(res, contentType, fileName)}).catch((err) => {console.log(err)})
以上就是我的总结办法 希望可以一起进步学习 如果可以的话可以关注我一起学习
前端将后端返回的文件流转为excel并下载相关推荐
- 普通文件下载 + 前端获取后端返回的文件流并下载
参考资料 前端接受后端文件流并下载的几种方法 ajax 请求二进制流 图片 文件 XMLHttpRequest 请求并处理二进制流数据 之最佳实践 ajax请求二进制流进行处理(ajax异步下载文件) ...
- 后端返回PDF文件流,前端处理展示及打印
国庆突如其来的加班q.q,上午接到的需求,只能起床啦 自己也是第一次接触这种业务需求,进行了一顿cv大法,网上有很多版本,个人学习借鉴(cv)了一下,在这里做个学习记录,欢迎各位指正优化,参考学习,如 ...
- 文件下载后端返回base64文件流,使用a标签下载
后端接口返回base64文件流 <a@click="downloadFiles(item.fileName, item.url)">{{ item.fileName } ...
- 微信小程序微信原生小程序如何通过后端返回的二进制流导出excel文件并保存和转发
因为工作上的原因有这个需求所以记录一下 首先后端返回给我们的数据是这样的,一串二进制流 然后直接上代码吧,注释基本上说的差不多了 wx.request({url: ``, //这个地方是你获取二进制流 ...
- 根据后端返回的文件流下载文件
//云附件 文件流链接 function clouddownloadResources(id,title) {common.showLoading()api_enclosuredetail.cloud ...
- 接收后台返回的文件流或 base64 后下载打印 pdf 功能
后台正常返回的流 //dataResult.data是后台返回的流 let pdfUrl = window.URL.createObjectURL(new Blob([dataResult.data] ...
- vue 后台返回的文件流进行预览_vue实现下载文件流完整前后端代码
这篇文章主要为大家详细介绍了vue实现下载文件流完整前后端代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 使用Vue时,我们前端如何处理后端返回的文件流 首先后端返 ...
- vue 后台返回的文件流进行预览_vue项目-pdf预览和下载,后台返回文件流形式
背景:正好最近碰到了这种需求,记录下来,方便以后查看. 后端返回的文件流数据如下图所示: 后台返回数据.png 一.pdf的预览 一开始的时候百度了很多方法,有建议用pdfJs插件的,有iframe嵌 ...
- vue项目,把图片文件流转为base64格式以图片形式展示在前端
问题描述 前台需要展示图片,期望后台直接返回图片地址,但是后台给的是的文件流而不是一个图片地址,需要把文件流转为base64的格式展示出来. 请求后台接口时,返回图片内容如下: 上图不是base64格 ...
最新文章
- python与tableau结合_Python与Tableau相结合,万字长文搞定传统线下连锁店数据分析...
- 技师学院计算机老师,技师学院计算机教学课堂改革探索论文
- CSS3自定义滚动条
- 入行php 四年多了,写点自评.
- C++中的wchar_t(转)
- 孤灯php加密,PHP实现观察者模式
- tcp 测试软件,ztcp
- 浅析支付系统的整体架构
- python爬虫之路scrapy
- Makefile 中的规则
- uricode(GET参数) 转 object
- 自学python买什么书比较好-python官方推荐30本面向初学者的书籍!你看过几本?...
- python地图匹配的步骤_地图匹配算法实践
- 运算放大器典型电路及原理
- usb转232串口线驱动android,prolific usb转串口驱动下载
- 2021年1月12日Flash Player被禁用后的缓解办法(2021年6月更新)
- python伪装ip_Python爬虫如何用高质量代理IP伪装?
- 团体程序设计天梯赛-练习集 L1-015 跟奥巴马一起画方块
- 优化方法之黄金分割法(Python实现)
- QNX系统终端中同一个进程号显示多次
热门文章
- linux添加五笔输入法,RedHat Linux 9中vim升级方法及如何安装五笔输入法
- Chapter9.2:线性系统的状态空间分析与综合(上)
- 《状态变量分析导论》学习总结
- 关于手机系统。。。。
- 哪一个国家耗巨资请熊猫去的_熊猫4.0:一个月过去了,复苏迹象
- ubuntu桌面被删除或home文件跑到桌面问题
- pandas中isin()函数及其逆函数使用
- HGDB 数据库用户密码参数查询设置
- C / C++头文件大全
- Lession10 常用类(正则表达式、Date Time结构、string类、Math类)