Blob数据下载:
1、返回数据类型(responseType:'blob')
2、读取请求返回的头部信息里的content-disposition,返回的文件名在这里面,(如果不需要此文件名,则可跳过此步骤)
3、使用URL.createObjectURL将请求的blob数据转为可下载的url地址
4、使用a标签下载
let blob = res.data 或者
let blob = new Blob([res.data],{type:"application/vnd.ms-excel"})
let fileName = decodeURL(res.headers['content-disposition']) 在此可利用正则进一步拆分
//将请求的blob数据转为可下载的url地址
let url = URL.createObjectURL(blob)
let aLink = document.createElement('a')
aLink.href = url
//定义文件名
aLink.setAttribute('download',fileName)
document.body.appendChild(aLink)
//模拟点击下载
aLink.click()
//释放URL对象
URL.revokeObjectURL(aLink.href)
//移除下载标签
document.body.removeChild(aLink)
下载本地静态资源:
注意:静态资源若放到src下面的assets文件夹下,下载会报错(找不到文件路径)
相关原因:打包的时候并不知会把assets下的文件打包在哪里,但是在build的时候发现在根目录下的文件的打包在当前路径下的,所以把要下载 的静态资源放在public文件夹下面就可以了