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 相关文章推荐
jQuery select的操作实现代码
May 06 Javascript
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
May 18 Javascript
javascript抖动元素的小例子
Oct 28 Javascript
非常实用的12个jquery代码片段
Nov 02 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
Mar 06 Javascript
详解angular2实现ng2-router 路由和嵌套路由
Mar 24 Javascript
Angular 4 指令快速入门教程
Jun 07 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
Sep 12 Javascript
Vue中util的工具函数实例详解
Jul 08 Javascript
基于vue手写tree插件的那点事儿
Aug 20 Javascript
jQuery - AJAX load() 实例用法详解
Aug 27 jQuery
JavaScript实现酷炫的鼠标拖尾特效
Feb 18 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
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
js验证上传图片的方法
2015/05/12 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
基于vue+ bootstrap实现图片上传图片展示功能
2017/05/17 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
JS通过识别id、value值对checkbox设置选中状态
2020/02/19 Javascript
[50:11]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第三场
2018/04/09 DOTA
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
最基础的Python的socket编程入门教程
2015/04/23 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
2019/02/13 Python
python实现抽奖小程序
2020/04/15 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
pyqt5 获取显示器的分辨率的方法
2019/06/18 Python
pyhton中__pycache__文件夹的产生与作用详解
2019/11/24 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
HTML5中的强制下载属性download使用实例解析
2016/05/12 HTML / CSS
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
怎样在程序里获得一个空指针
2015/01/24 面试题
迟到检讨书1000字
2014/01/15 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
奔腾年代观后感
2015/06/09 职场文书
Mac环境Nginx配置和访问本地静态资源的实现
2021/03/31 Servers
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android