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 相关文章推荐
代码触发js事件(click、change)示例应用
Dec 13 Javascript
js获取客户端网卡的IP地址、MAC地址
Mar 26 Javascript
在JavaScript中访问字符串的子串
Jul 07 Javascript
浅析JS中对函数function的理解(基础篇)
Oct 14 Javascript
简单学习vue指令directive
Nov 03 Javascript
Vue.js实现分页查询功能
Nov 15 Javascript
javascript连接mysql与php通过odbc连接任意数据库的实例
Dec 27 Javascript
Angular 数据请求的实现方法
May 07 Javascript
在Vue组件中获取全局的点击事件方法
Sep 06 Javascript
ant-design-vue 实现表格内部字段验证功能
Dec 16 Javascript
基于html+css+js实现简易计算器代码实例
Feb 28 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
May 10 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
安装apache2.2.22配置php5.4(具体操作步骤)
2013/06/26 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
PHP执行shell脚本运行程序不产生core文件的方法
2016/12/28 PHP
浅谈javascript的原型继承
2012/07/25 Javascript
网页整体变灰白色(兼容各浏览器)实例
2013/04/21 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
2014/12/15 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
解决layui-open关闭自身窗口的问题
2019/09/10 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
Python中进程和线程的区别详解
2017/10/29 Python
深入理解Python单元测试unittest的使用示例
2017/11/18 Python
使用pandas的DataFrame的plot方法绘制图像的实例
2018/05/24 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
Python3 关于pycharm自动导入包快捷设置的方法
2019/01/16 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
Ajax请求总共有多少种Callback
2016/07/17 面试题
经济与贸易专业应届生求职信
2013/11/19 职场文书
社区学雷锋活动策划方案
2014/01/30 职场文书
优秀乡村医生事迹材料
2014/05/28 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
机关党员公开承诺书
2014/08/30 职场文书