也算是自己的一个总结吧

在遇到后端给前端返回的一个文件流的注意事项

首先自己封装了一个方法  放在了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并下载相关推荐

  1. 普通文件下载 + 前端获取后端返回的文件流并下载

    参考资料 前端接受后端文件流并下载的几种方法 ajax 请求二进制流 图片 文件 XMLHttpRequest 请求并处理二进制流数据 之最佳实践 ajax请求二进制流进行处理(ajax异步下载文件) ...

  2. 后端返回PDF文件流,前端处理展示及打印

    国庆突如其来的加班q.q,上午接到的需求,只能起床啦 自己也是第一次接触这种业务需求,进行了一顿cv大法,网上有很多版本,个人学习借鉴(cv)了一下,在这里做个学习记录,欢迎各位指正优化,参考学习,如 ...

  3. 文件下载后端返回base64文件流,使用a标签下载

    后端接口返回base64文件流 <a@click="downloadFiles(item.fileName, item.url)">{{ item.fileName } ...

  4. 微信小程序微信原生小程序如何通过后端返回的二进制流导出excel文件并保存和转发

    因为工作上的原因有这个需求所以记录一下 首先后端返回给我们的数据是这样的,一串二进制流 然后直接上代码吧,注释基本上说的差不多了 wx.request({url: ``, //这个地方是你获取二进制流 ...

  5. 根据后端返回的文件流下载文件

    //云附件 文件流链接 function clouddownloadResources(id,title) {common.showLoading()api_enclosuredetail.cloud ...

  6. 接收后台返回的文件流或 base64 后下载打印 pdf 功能

    后台正常返回的流 //dataResult.data是后台返回的流 let pdfUrl = window.URL.createObjectURL(new Blob([dataResult.data] ...

  7. vue 后台返回的文件流进行预览_vue实现下载文件流完整前后端代码

    这篇文章主要为大家详细介绍了vue实现下载文件流完整前后端代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 使用Vue时,我们前端如何处理后端返回的文件流 首先后端返 ...

  8. vue 后台返回的文件流进行预览_vue项目-pdf预览和下载,后台返回文件流形式

    背景:正好最近碰到了这种需求,记录下来,方便以后查看. 后端返回的文件流数据如下图所示: 后台返回数据.png 一.pdf的预览 一开始的时候百度了很多方法,有建议用pdfJs插件的,有iframe嵌 ...

  9. vue项目,把图片文件流转为base64格式以图片形式展示在前端

    问题描述 前台需要展示图片,期望后台直接返回图片地址,但是后台给的是的文件流而不是一个图片地址,需要把文件流转为base64的格式展示出来. 请求后台接口时,返回图片内容如下: 上图不是base64格 ...

最新文章

  1. python与tableau结合_Python与Tableau相结合,万字长文搞定传统线下连锁店数据分析...
  2. 技师学院计算机老师,技师学院计算机教学课堂改革探索论文
  3. CSS3自定义滚动条
  4. 入行php 四年多了,写点自评.
  5. C++中的wchar_t(转)
  6. 孤灯php加密,PHP实现观察者模式
  7. tcp 测试软件,ztcp
  8. 浅析支付系统的整体架构
  9. python爬虫之路scrapy
  10. Makefile 中的规则
  11. uricode(GET参数) 转 object
  12. 自学python买什么书比较好-python官方推荐30本面向初学者的书籍!你看过几本?...
  13. python地图匹配的步骤_地图匹配算法实践
  14. 运算放大器典型电路及原理
  15. usb转232串口线驱动android,prolific usb转串口驱动下载
  16. 2021年1月12日Flash Player被禁用后的缓解办法(2021年6月更新)
  17. python伪装ip_Python爬虫如何用高质量代理IP伪装?
  18. 团体程序设计天梯赛-练习集 L1-015 跟奥巴马一起画方块
  19. 优化方法之黄金分割法(Python实现)
  20. QNX系统终端中同一个进程号显示多次

热门文章

  1. linux添加五笔输入法,RedHat Linux 9中vim升级方法及如何安装五笔输入法
  2. Chapter9.2:线性系统的状态空间分析与综合(上)
  3. 《状态变量分析导论》学习总结
  4. 关于手机系统。。。。
  5. 哪一个国家耗巨资请熊猫去的_熊猫4.0:一个月过去了,复苏迹象
  6. ubuntu桌面被删除或home文件跑到桌面问题
  7. pandas中isin()函数及其逆函数使用
  8. HGDB 数据库用户密码参数查询设置
  9. C / C++头文件大全
  10. Lession10 常用类(正则表达式、Date Time结构、string类、Math类)