axios下载文件代码详情
Vue
2022-04-20 10:18:07
文件的下载在网站中非常常见,本文就在vue中如何使用axios实现下载操作代码详解。
代码如下:
1、引入axios插件,关于该插件的下载请自行百度。
import axios from 'axios'
2、页面中使用axios实现下载
axios({
// 用axios发送post请求
method: 'post',
url: '', // 请求地址
responseType: 'blob', // 表明返回服务器返回的数据类型
headers: {
'token': ''
},
data:{}//请求携带的参数
}).then(res => {
// 处理返回的文件流
const content = res.data
const blob = new Blob([content])
const fileName = '导出的文件名称.xls'
if ('download' in document.createElement('a')) {
// 非IE下载
const elink = document.createElement('a')
elink.download = fileName
elink.style.display = 'none'
elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href) // 释放URL 对象
document.body.removeChild(elink)
} else {
// IE10+下载
navigator.msSaveBlob(blob, fileName)
}
})
3、根据自己需求进行参数的携带及header的设置。
说明:通过该方法进行文件的下载,效果和常规的a标签点击下载一致。
4、该方式和常规a标签下载的优势如下:
4.1、实现了header的配置,如设置token
4.2、不再局限于只能用get方法
4.3、参数的携带更加方便
六月初字帖坊小程序
你想要的字帖模板及工具,这里都有!
877篇文章
1817人已阅读