发请求的时候设置响应返回的数据格式,返回值是blob对象数据类型
以ajax发请求为例
responseType: "blob"
请求成功之后用window.URL.createObjectURL传入一个Blob对象,返回一个DOMString包含了一个对象URL
let url = window.URL.createObjectURL(new Blob([res.data]))
利用a标签的特性,放入url,点击下载,下载完成记得移除a标签
let link = document.createElement('a')
link.style.display = 'none'
link.href = url
link.setAttribute('download', '资料.zip')
document.body.appendChild(link)
link.click();
link.remove();
完整代码如下
let url = window.URL.createObjectURL(new Blob([res.data]))
let link = document.createElement('a')
link.style.display = 'none'
link.href = url
link.setAttribute('download', '资料.zip')
document.body.appendChild(link)
link.click();
link.remove();