开发中越来越发现自己的不足,最近在开发中遇到的需要下载文件到本地的操作,这里将遇到的问题记录一下
步骤一:获取后端提供的文件下载路径
这个没什么说的,一般就是按照后端给的接口去请求就可以了,这里写个简单例子
export function downLoadZip(str, filename) {
var url = baseUrl + str
axios({
method: 'get',
url: url,
responseType: 'blob',
headers: { 'Authorization': 'Bearer ' + getToken() }
}).then(res => {
resolveBlob(res, mimeMap.zip)
})
}
其实到这里已经获取到返回的文件了,不过这样获取的到的一堆乱码,需要我们解析成对应文件并且下载到本地才算实现完成
步骤二:解析并下载文件
export function resolveBlob(res, mimeType) {
const aLink = document.createElement('a')
var blob = new Blob([res.data], { type: mimeType })
var patt = new RegExp('filename=([^;]+\\.[^\\.;]+);*')
var contentDisposit