背景
在vue中,使用axios向后台请求数据,但只接收返回的response并不能实现浏览器下载,所以需要借助于blob实现文件的浏览器下载,分为两种情况,一种是get请求,使用params,另一种使用post请求,参数使用formdata传参
情景1:get请求,params传参

  • url与参数部分代码:
this.axios.get('/api/downloadConfig', {params:{oid:oid},responseType:'blob',})
  • blob具体下载实现代码
 if(res.status === 200){const content = res.data;const blob = new Blob([content]);if('download' in document.createElement('a')){//非IE下载const a = document.createElement('a');a.download = fileName;a.style.display = 'none';a.href = window.URL.createObjectURL(blob);document.body.appendChild(a);a.click();window.URL.revokeObjectURL(a.href);document.body.removeChild(a);}else{//IE10+下载if(typeof window.navigator.msSaveBlob !== 'undefined'){window.navigator.msSaveBlob(blob, _this.selected);}else{let URL = window.URL || window.webkitURL;let downloadUrl = URL.createObjectURL(blob);window.location = downloadUrl;}}

情景2:post请求,formdata传参

  • url与参数部分代码:
this.axios.post('/api/downloadConfig', form, {responseType:'blob'})
  • blob具体下载实现代码与上文get请求一致

vue中axios利用blob实现文件浏览器下载相关推荐

  1. axios 超时_聊聊 Vue 中 axios 的封装

    axios 是 Vue 官方推荐的一个 HTTP 库,用 axios 官方简介来介绍它,就是: Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 作为一 ...

  2. vue中axios封装请求

    执行 GET 请求 // 向具有指定ID的用户发出请求 axios.get('/user?ID=12345') .then(function (res) {console.log(res); }) . ...

  3. vue中axios如何实现token验证

    title: vue中axios如何实现token验证 date: 2018-02-08 17:50:07 tags: [axios,vue] 继上篇实现Auth认证之后,然后每个跳转页面都会在后端验 ...

  4. vue中Axios网络请求之Vue知识点归纳(十)

    本文描述 vue 中 Axios 简述 vue 中使用 Axios 发起 get 请求 vue 中使用 Axios 发起 post 请求 1 简述 Axios是一个基于Promise(ES6中用于处理 ...

  5. ant design vue 中Upload组件如何自定义文件列表的样式

    ant design vue 中Upload组件如何自定义文件列表的样式 问题 历程 UploadList 组件源码 h() 方法 实现 注 问题 技术:vue.ant design vue 在开发项 ...

  6. vue的axios在ie和苹果浏览器后端参数数据接收不到的问题

    欢迎大家进群,一起探讨学习 微信公众号,每天给大家提供技术干货 博主技术笔记 博主网站地址1 博主网站地址2 博主开源微服架构前后端分离技术博客项目源码地址,欢迎各位star vue的axios在ie ...

  7. 解决在vue中axios请求超时的问题

    解决在vue中axios请求超时的问题 参考文章: (1)解决在vue中axios请求超时的问题 (2)https://www.cnblogs.com/zhouyangla/p/8757149.htm ...

  8. vue中axios访问Java后端跨域问题解决

    vue中axios访问Java后端跨域问题解决 参考文章: (1)vue中axios访问Java后端跨域问题解决 (2)https://www.cnblogs.com/soinve/p/9295009 ...

  9. 解决vue中axios同步的问题

    解决vue中axios同步的问题 参考文章: (1)解决vue中axios同步的问题 (2)https://www.cnblogs.com/zhupanpan/p/11319305.html 备忘一下 ...

最新文章

  1. python找字符串_Python如何实现查找字符串
  2. python开发中遇到的难题_初学者在Python开发中常见的问题(上)
  3. 重磅!2020中国高校毕业生月薪排名:清华第1,24高校过万,你呢?
  4. 解决svn cannot set LC_CTYPE locale的问题
  5. 计算机申报专业怎么写,给申请计算机专业的学生的建议
  6. 【经典】Noip动态规划
  7. 如何提高使用物联网卡应用的安全性
  8. 在线随机图片与网易云音乐解析API网页源码
  9. 立创商城的元件原理图怎么弄到ad_(50条消息)立创EDA元件封装导入AD软件教程
  10. 录制软件Bandicam安装教程
  11. python截取视频制作gif表情包
  12. JS获取下个月的第一天和最后一天
  13. 大话设计模式之爱你一万年:第八章 结构型模式:外观(门面)模式:冬天有你不再寒冷:1.外观模式概念
  14. (转载)Windows文件系统过滤驱动开发教程
  15. 苹果cms8个性化设置
  16. 全网最详细IDEA导入eclispe项目
  17. css编程设置网页背景,网页中cssbackground背景图和背景颜色的设置方法
  18. 输入在第一行中给出一个正整数n(1)。第二行输入n个整数,用空格分开。在一行中输出最大值及最大值的最小下标,中间用一个空格分开。
  19. Linux:用户与群组管理
  20. 排污单位门禁、视频、参数监控联网数据采集传输仪

热门文章

  1. mac下编译android源码避坑指南(新)
  2. 论STM32标准库程序修改为HAL库
  3. 「go-micro」学习笔记1——Micro 与 Go-Micro
  4. 读书笔记:NOSQL 菜鸟教程
  5. Tomcat 7.0安装与配置
  6. 一键生成舞曲编排的小程序(perl)
  7. 区块链应用的5大方向,哪些公司正在做?
  8. 知识产权(二)——检索流程和要素表达
  9. Java小白入门200例98之Java异常
  10. Mutex与Semaphore 第二部分 互斥锁