情景:后端为post请求,且接口返回为excel文件流
方法:
1、使用原生XMLHttpRequest
2、使用原生fetch
3、使用axios

 import qs from 'qs'import axios from 'axios'// 下载模板doDownLoad(){if (this.upSelectRows.length === 0) {this.$message.warning("请选择要提交的数据!");return;}this.downloadTemp2('授权支付明细文件','/df/pay/common/new/exportExcel',{pay_cert_no: this.upSelectRows[0].pay_cert_no})},// 方法1:使用原生XMLHttpRequest去请求,并下载文件downloadTemp(filename,url,param){const req = new XMLHttpRequest();req.open('POST', url,true)req.responseType = 'blob'req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');let _this = thisreq.onload = function() {let blob = this.response_this.download(blob,filename)};req.send(qs.stringify(param))},// 方法2:使用原生fetch去请求,并下载文件downloadTemp2(filename,url,param){fetch(url,{method: 'POST',headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},body: qs.stringify(param)}).then(res => res.blob()).then(blob => {this.download(blob,filename)})},// 方法3:使用原生axios去请求,并下载文件downloadTemp3(filename,url,param){let _this = thisaxios.post(url, param, {responseType: 'blob'}).then(res => {// const blob = new Blob([res.data]) // 处理文档流const blob = res.data_this.downLoadExcel(blob,filename)})},download(blob,filename){let bolbUrl = window.URL.createObjectURL(blob)let a = document.createElement("a");document.body.appendChild(a);a.href = bolbUrl;a.download = filename;a.click();document.body.removeChild(a);},

备注:两种方法的选择:
1、若项目基于XMLHttpRequest,则最好选择XMLHttpRequest
2、若项目基于fetch,则最好选择fetch

js接收excel文件流并解析下载文件相关推荐

  1. ASP.NET使用文件流的方式下载文件

    //以字符流的形式下载文件 string filePath = "D://dome.doc";                 FileStream fs = new FileSt ...

  2. java 看书浏览器官_JAVA读取文件流,设置浏览器下载或直接预览操作

    最近项目需要在浏览器中通过url预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...

  3. java 读取浏览器_JAVA读取文件流,设置浏览器下载或直接预览操作

    最近项目需要在浏览器中通过URL预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的Header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...

  4. java用浏览器下载文件_JAVA读取文件流,设置浏览器下载或直接预览操作

    最近项目需要在浏览器中通过url预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...

  5. response以流的方式下载文件

    response以流的方式下载文件 /*** 文件下载* @param worldName 获取前端传进来的文件名* @param response*/@GetMapping("/fileD ...

  6. JAVA 实现返回PDF文件流并进行下载

    JAVA 实现返回PDF文件流并进行下载 首先确保本地存放pdf 保证通过路径可以拿到文件 我这边把pdf放在e盘下的目录 1.前台方法 原生ajax 发送请求返回文件流进行下载 function d ...

  7. java浏览器预览文件_JAVA读取文件流,设置浏览器下载或直接预览操作

    最近项目需要在浏览器中通过URL预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的Header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...

  8. 关于FTP获取文件,过滤器,下载文件0kb问题

    关于FTP获取文件,过滤器,下载文件0kb问题 下载的时候需要指定文件名编码格式,并且与服务器相同 FTPClient ftpClient = new FTPClient();try {ftpClie ...

  9. 微信小程序云开发实现上传文件和预览下载文件

    微信小程序云开发实现上传文件和预览下载文件 一.前言 目前微信提供了一个接口 wx.chooseMessageFile 它能让用户从聊天记录里面选择一个或者多个文件,然后返回它的一些信息,列入文件的p ...

最新文章

  1. React16.2的fiber架构
  2. 请简单解释一下ARP协议和ARP攻击
  3. 采用vue-cli安装的一些注意点
  4. java SpringMVC mybatis 多数据源 代码生成器 SSM java redis shiro ehcache
  5. greta一些简单实用的字符串匹配
  6. Kubernetes集群的部署方式及详细步骤
  7. Dubbo-Admin 正式支持 3.0 服务治理
  8. Spring Boot 数据国际化
  9. 学习笔记_vnpy实战培训day04
  10. matlab如何绘制像素格子的图_如何根据测量数据绘制填挖方数据图
  11. 最新版微型商城2.0版网站源码 带有一键安装
  12. java的测试岗位_JAVA测试岗位职责
  13. Zing实现本地相册识别二维码
  14. debian linux 桌面,Debian/Ubuntu使用tasksel安装桌面环境
  15. Web全栈开发基础(小白入门版本)
  16. 微信小程序|icon列表跳转不同界面
  17. 淘宝爆款打造公式(仅供参考)
  18. 计算机科学导论的探讨论文,计算机科学导论论文
  19. 【动网论坛7.1 sp1 修改】-关于增加本帖地址[复制本页地址 粘贴]的修改方法...
  20. APIX_身份证图像识别技术(附代码)

热门文章

  1. 社交电商是什么?社交电商如何做好
  2. (转载)libvirt 问题解决记录集
  3. 纷享销客重磅发布中国CRM应用与选型案例集之《高科技现代企业服务》
  4. Thinkphp 模型与表名定义
  5. 小世界网络邻接矩阵生成——python
  6. 王坚:阿里巴巴为什么会“去IOE”(一) | 《商业价值》杂志
  7. (一)android 桌面悬浮窗 录屏源码放送
  8. ABBYY FineReader 14之扫描至OCR编辑器功能怎么用
  9. 运维思索:cmdb与zabbix监控系统的融合
  10. 数据库学习笔记7关系数据库标准语言SQL