vue+axios实现post文件下载


Posted in Javascript onSeptember 25, 2019

本文实例为大家分享了vue+axios实现post文件下载的具体代码,供大家参考,具体内容如下

功能:点击导出按钮,提交请求,下载excel文件;

这里是axios的post方法。get方法请点击这里=》here 

第一步:跟后端童鞋确认交付的接口的response header设置了

vue+axios实现post文件下载

以及返回了文件流。

第二步:修改axios请求的responseType为blob,以post请求为例:

axios({
 method: 'post',
 url: 'api/user/',
 data: {
 firstName: 'Fred',
 lastName: 'Flintstone'
 },
 responseType: 'blob'
}).then(response => {
 this.download(response)
}).catch((error) => {

})

第三步:请求成功,拿到response后,调用download函数(创建a标签,设置download属性,插入到文档中并click)

methods: {
 // 下载文件
 download (data) {
 if (!data) {
  return
 }
 let url = window.URL.createObjectURL(new Blob([data]))
 let link = document.createElement('a')
 link.style.display = 'none'
 link.href = url
 link.setAttribute('download', 'excel.xlsx')
 
 document.body.appendChild(link)
 link.click()
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 面向对象思想 附源码
Jul 07 Javascript
js 判断一个元素是否在页面中存在
Dec 27 Javascript
JS取模、取商及取整运算方法示例
Oct 13 Javascript
AngularJS过滤器filter用法总结
Dec 13 Javascript
bootstrap手风琴制作方法详解
Jan 11 Javascript
js实现消息滚动效果
Jan 18 Javascript
利用javascript如何随机生成一定位数的密码
Sep 22 Javascript
基于vue.js无缝滚动效果
Jan 25 Javascript
ng-repeat指令在迭代对象时的去重方法
Oct 02 Javascript
JQuery animate动画应用示例
May 14 jQuery
JS函数进阶之继承用法实例分析
Jan 15 Javascript
微信小程序动态添加和删除组件的现实
Feb 28 Javascript
vue + axios get下载文件功能
Sep 25 #Javascript
layer.open组件获取弹出层页面变量、函数的实例
Sep 25 #Javascript
jquery中attr、prop、data区别与用法分析
Sep 25 #jQuery
axios实现文件上传并获取进度
Mar 25 #Javascript
Layer+Echarts构建弹出层折线图的方法
Sep 25 #Javascript
axios实现简单文件上传功能
Sep 25 #Javascript
layer弹出层取消遮罩的方法
Sep 25 #Javascript
You might like
扩展你的 PHP 之入门篇
2006/12/04 PHP
thinkphp四种url访问方式详解
2014/11/28 PHP
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
JavaScript仿商城实现图片广告轮播实例代码
2016/02/06 Javascript
sea.js常用的api简易文档
2016/11/15 Javascript
初探nodeJS
2017/01/24 NodeJs
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
phantomjs导出html到pdf的方法总结
2017/10/19 Javascript
微信网页登录逻辑与实现方法
2019/04/29 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
微信小程序实现渐入渐出动画效果
2019/06/13 Javascript
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
python书籍信息爬虫实例
2018/03/19 Python
Django中使用Whoosh进行全文检索的方法
2019/03/31 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
python numpy中cumsum的用法详解
2019/10/17 Python
numpy创建单位矩阵和对角矩阵的实例
2019/11/29 Python
解决Jupyter无法导入已安装的 module问题
2020/04/17 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
基于Python爬取51cto博客页面信息过程解析
2020/08/25 Python
Python中如何定义一个函数
2016/09/06 面试题
创业计划书——互联网商机
2014/01/12 职场文书
南京青奥会口号
2014/06/12 职场文书
社区服务标语
2014/07/01 职场文书
竞选班长演讲稿400字
2014/08/22 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
博物馆观后感
2015/06/05 职场文书
2016年幼儿园万圣节活动总结
2016/04/05 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
导游词之桂林山水
2019/09/20 职场文书
Vue2.0搭建脚手架
2022/03/13 Vue.js