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的with语句使用方法
Sep 21 Javascript
IE与Firefox下javascript getyear年份的兼容性写法
Dec 20 Javascript
js 自带的sort() 方法全面了解
Aug 16 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
Aug 29 Javascript
原生JS实现垂直手风琴效果
Feb 19 Javascript
vue2.0 elementUI制作面包屑导航栏
Feb 22 Javascript
js中DOM事件绑定分析
Mar 18 Javascript
vue+iview 兼容IE11浏览器的实现方法
Jan 07 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
Mar 04 Javascript
服务端预渲染之Nuxt(使用篇)
Apr 08 Javascript
Vue使用自定义指令实现拖拽行为实例分析
Jun 06 Javascript
Element MessageBox弹框的具体使用
Jul 27 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 HtmlReplace输入过滤安全函数
2010/07/03 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
php与Mysql的一些简单的操作
2015/02/26 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
新页面打开实际尺寸的图片
2006/08/25 Javascript
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
在JavaScript中实现命名空间
2006/11/23 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
浅谈jQuery事件绑定原理
2015/01/02 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
JS根据json数组多个字段排序及json数组常用操作
2019/06/06 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
Python re模块介绍
2014/11/30 Python
Python正则替换字符串函数re.sub用法示例
2017/01/19 Python
用python与文件进行交互的方法
2018/03/01 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
利用Python实现某OA系统的自动定位功能
2020/05/27 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
烹调加工管理制度
2014/02/04 职场文书
交通事故被告答辩状
2015/05/22 职场文书
婚礼家长致辞
2015/07/27 职场文书
2016年三八节红领巾广播稿
2015/12/17 职场文书
php字符串倒叙
2021/04/01 PHP
python中subplot大小的设置步骤
2021/06/28 Python