js接收excel文件流并解析下载文件
情景:后端为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文件流并解析下载文件相关推荐
- ASP.NET使用文件流的方式下载文件
//以字符流的形式下载文件 string filePath = "D://dome.doc"; FileStream fs = new FileSt ...
- java 看书浏览器官_JAVA读取文件流,设置浏览器下载或直接预览操作
最近项目需要在浏览器中通过url预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...
- java 读取浏览器_JAVA读取文件流,设置浏览器下载或直接预览操作
最近项目需要在浏览器中通过URL预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的Header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...
- java用浏览器下载文件_JAVA读取文件流,设置浏览器下载或直接预览操作
最近项目需要在浏览器中通过url预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...
- response以流的方式下载文件
response以流的方式下载文件 /*** 文件下载* @param worldName 获取前端传进来的文件名* @param response*/@GetMapping("/fileD ...
- JAVA 实现返回PDF文件流并进行下载
JAVA 实现返回PDF文件流并进行下载 首先确保本地存放pdf 保证通过路径可以拿到文件 我这边把pdf放在e盘下的目录 1.前台方法 原生ajax 发送请求返回文件流进行下载 function d ...
- java浏览器预览文件_JAVA读取文件流,设置浏览器下载或直接预览操作
最近项目需要在浏览器中通过URL预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的Header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...
- 关于FTP获取文件,过滤器,下载文件0kb问题
关于FTP获取文件,过滤器,下载文件0kb问题 下载的时候需要指定文件名编码格式,并且与服务器相同 FTPClient ftpClient = new FTPClient();try {ftpClie ...
- 微信小程序云开发实现上传文件和预览下载文件
微信小程序云开发实现上传文件和预览下载文件 一.前言 目前微信提供了一个接口 wx.chooseMessageFile 它能让用户从聊天记录里面选择一个或者多个文件,然后返回它的一些信息,列入文件的p ...
最新文章
- React16.2的fiber架构
- 请简单解释一下ARP协议和ARP攻击
- 采用vue-cli安装的一些注意点
- java SpringMVC mybatis 多数据源 代码生成器 SSM java redis shiro ehcache
- greta一些简单实用的字符串匹配
- Kubernetes集群的部署方式及详细步骤
- Dubbo-Admin 正式支持 3.0 服务治理
- Spring Boot 数据国际化
- 学习笔记_vnpy实战培训day04
- matlab如何绘制像素格子的图_如何根据测量数据绘制填挖方数据图
- 最新版微型商城2.0版网站源码 带有一键安装
- java的测试岗位_JAVA测试岗位职责
- Zing实现本地相册识别二维码
- debian linux 桌面,Debian/Ubuntu使用tasksel安装桌面环境
- Web全栈开发基础(小白入门版本)
- 微信小程序|icon列表跳转不同界面
- 淘宝爆款打造公式(仅供参考)
- 计算机科学导论的探讨论文,计算机科学导论论文
- 【动网论坛7.1 sp1 修改】-关于增加本帖地址[复制本页地址 粘贴]的修改方法...
- APIX_身份证图像识别技术(附代码)