前端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 相关文章推荐
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
Jun 10 Javascript
在Windows上安装Node.js模块的方法
Sep 25 Javascript
jQuery操作CheckBox的方法介绍(选中,取消,取值)
Feb 04 Javascript
浅谈angular懒加载的一些坑
Aug 20 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
Dec 30 Javascript
手机端转换rem适应
Apr 01 Javascript
vue动态路由配置及路由传参的方式
May 23 Javascript
原生js封装的ajax方法示例
Aug 02 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
Dec 04 jQuery
浅谈Vue.js中如何实现自定义下拉菜单指令
Jan 06 Javascript
详解Vue中组件的缓存
Apr 20 Javascript
Vue路由切换页面不更新问题解决方案
Jul 10 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
PHP获取文件相对路径的方法
2015/02/26 PHP
支持中文、字母、数字的PHP验证码
2015/05/04 PHP
php实现zip文件解压操作
2015/11/03 PHP
PHP6新特性分析
2016/03/03 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
2013/08/05 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
微信小程序实现验证码获取倒计时效果
2018/02/08 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
浅谈Vue使用Elementui修改默认的最快方法
2020/12/05 Vue.js
利用Python如何生成hash值示例详解
2017/12/20 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
Python中的取模运算方法
2018/11/10 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
Python调用C语言程序方法解析
2020/07/07 Python
python之pygame模块实现飞机大战完整代码
2020/11/29 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
如何查找网页漏洞
2016/06/22 面试题
作弊检讨书1000字
2014/02/01 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
求职简历自荐信
2014/06/18 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
2014法院四风问题对照检查材料思想汇报
2014/10/04 职场文书
2015年组织部工作总结
2015/04/03 职场文书
Vue CLI中模式与环境变量的深入详解
2021/05/30 Vue.js
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL
一文带你探究MySQL中的NULL
2021/11/11 MySQL
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫