axios封装通用下載
时间: 2023-11-15 10:56:26 浏览: 80
好的,这里是一个基于axios封装的通用下载函数:
```javascript
import axios from 'axios'
/**
* 通用下载函数
* @param {string} url - 下载链接
* @param {string} filename - 下载文件名
*/
export function download(url, filename) {
axios({
method: 'get',
url: url,
responseType: 'blob'
}).then(res => {
const link = document.createElement('a')
const blob = new Blob([res.data])
link.style.display = 'none'
link.href = URL.createObjectURL(blob)
link.download = filename
document.body.appendChild(link)
link.click()
URL.revokeObjectURL(link.href)
document.body.removeChild(link)
})
}
```
这个函数接收两个参数,一个是下载链接,一个是下载文件名。它使用axios发送get请求,设置responseType为blob,然后将返回的blob对象转换成URL,创建一个a标签并设置其href和download属性,最后模拟点击a标签进行下载。
阅读全文