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 相关文章推荐
表单项的name命名为submit、reset引起的问题
Dec 22 Javascript
javascript中的关于类型转换的性能优化
Dec 14 Javascript
javascript变量作用域使用中常见错误总结
Mar 26 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
May 14 Javascript
javascript 构造函数方式定义对象
Jan 02 Javascript
解决js函数闭包内存泄露问题的办法
Jan 25 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
Oct 28 Javascript
Vue 2.0的数据依赖实现原理代码简析
Jul 10 Javascript
浅谈Vue SPA 首屏加载优化实践
Dec 15 Javascript
微信小程序实现商城倒计时
Nov 01 Javascript
vue使用websocket的方法实例分析
Jun 22 Javascript
Vue中父子组件的值传递与方法传递
Sep 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
Adnroid 微信内置浏览器清除缓存
2016/07/11 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
Javascript 中的 && 和 || 使用小结
2010/04/25 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
2015/05/15 Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
2015/11/24 Javascript
JS实现alert中显示换行的方法
2015/12/17 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
2016/06/14 Javascript
Vue form 表单提交+ajax异步请求+分页效果
2017/04/22 Javascript
JS中type="button"和type="submit"的区别
2017/07/04 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
js 实现在2d平面上画8的方法
2018/10/10 Javascript
JS实现的tab页切换效果完整示例
2018/12/18 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
ES7之Async/await的使用详解
2019/03/28 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
python分治法求二维数组局部峰值方法
2018/04/03 Python
python3实现域名查询和whois查询功能
2018/06/21 Python
python 浅谈serial与stm32通信的编码问题
2019/12/18 Python
python轮询机制控制led实例
2020/05/03 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
python绘制分布折线图的示例
2020/09/24 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
html5读取本地文件示例代码
2014/04/22 HTML / CSS
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
编写函数,将一个3*3矩阵转置
2013/10/09 面试题
.net笔试题
2014/03/03 面试题
计算机专业毕业生求职信
2014/04/30 职场文书
2014年个人工作总结报告
2014/11/27 职场文书
教师学期个人总结
2015/02/11 职场文书
2015年教研工作总结
2015/05/23 职场文书
Mysql基础知识点汇总
2021/05/26 MySQL