前端axios下载excel文件(二进制)的处理方法


Posted in Javascript onJuly 31, 2018

需求:通过后端接口下载excel文件,后端没有文件地址,返回二进制流文件

实现:axios(ajax类似)

主要代码:

axios:设置返回数据格式为blob或者arraybuffer

如:

var instance = axios.creat({     ... //一些配置
    responseType: 'blob', //返回数据的格式,可选值为arraybuffer,blob,document,json,text,stream,默认值为json
  })

请求时的处理:

getExcel().then(res => {
  //这里res.data是返回的blob对象   
  
var blob = new Blob([res.data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'}); //application/vnd.openxmlformats-officedocument.spreadsheetml.sheet这里表示xlsx类型
  
var downloadElement = document.createElement('a');
  
var href = window.URL.createObjectURL(blob); //创建下载的链接
  
downloadElement.href = href;
  
downloadElement.download = 'xxx.xlsx'; //下载后文件名
  
document.body.appendChild(downloadElement);
  
downloadElement.click(); //点击下载
  
document.body.removeChild(downloadElement); //下载完成移除元素
  
window.URL.revokeObjectURL(href); //释放掉blob对象 
 })

总结

以上所述是小编给大家介绍的前端axios下载excel文件(二进制)的处理方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 模式设计之工厂模式详细说明
May 10 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
Aug 18 Javascript
javascript实现图像循环明暗变化的方法
Feb 25 Javascript
React.js入门学习第一篇
Mar 30 Javascript
jQuery选择器基础入门教程
May 10 Javascript
Javascript基础学习笔记(菜鸟必看篇)
Jul 22 Javascript
js简单时间比较的方法
Aug 02 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
Aug 29 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
Sep 04 Javascript
js实现敏感词过滤算法及实现逻辑
Jul 24 Javascript
angular2 NgModel模块的具体使用方法
Apr 10 Javascript
一分钟学会JavaScript中的try-catch
Dec 14 Javascript
JS构造一个html文本内容成文件流形式发送到后台
Jul 31 #Javascript
vue导出html、word和pdf的实现代码
Jul 31 #Javascript
JavaScript函数节流和函数去抖知识点学习
Jul 31 #Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
Jul 31 #Javascript
微信网页授权并获取用户信息的方法
Jul 30 #Javascript
axios简单实现小程序延时loading指示
Jul 30 #Javascript
JS实现HTML页面中动态显示当前时间完整示例
Jul 30 #Javascript
You might like
怎么使 Mysql 数据同步
2006/10/09 PHP
PHP 一个比较完善的简单文件上传
2010/03/25 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
PHP实现websocket通信的方法示例
2018/08/28 PHP
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
让复选框只能选择一项的方法
2013/10/08 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
IE6 hack for js 集锦
2014/09/23 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
jquery中取消和绑定hover事件的实现代码
2016/06/02 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
懒加载实现的分页&&网站footer自适应
2016/12/21 Javascript
JSONP基础知识详解
2017/03/19 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
JS实现的JSON数组去重算法示例
2018/04/11 Javascript
详解vue中移动端自适应方案
2019/05/05 Javascript
vue-socket.io接收不到数据问题的解决方法
2020/05/13 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
Python Queue模块详解
2014/11/30 Python
python检测远程服务器tcp端口的方法
2015/03/14 Python
Python中的集合介绍
2019/01/28 Python
PyCharm取消波浪线、下划线和中划线的实现
2020/03/03 Python
python3 xpath和requests应用详解
2020/03/06 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
消防安全宣传标语
2014/06/07 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
教师求职自荐信范文
2015/03/04 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书
Linux安装Nginx步骤详解
2021/03/31 Servers
vue动态绑定style样式
2022/04/20 Vue.js