需要在发送请求时添加响应头、responseType: ‘blob’(记录下方便以后使用)
// 导出
function deriveList(data) {
return axios({
method: 'post',
url: `${baseUrl}/park-services/order/v1/info/excel/download`,
responseType: 'blob',
data
})
}
// 下面是请求操作
deriveList(this.list)
.then(response => {
console.log(response)
var blob = new Blob([response.data])
var downloadElement = document.createElement('a')
var href = window.URL.createObjectURL(blob) // 创建下载的链接
downloadElement.href = href
downloadElement.download = '用户数据.xlsx' // 下载后文件名
document.body.appendChild(downloadElement)
downloadElement.click() // 点击下载
document.body.removeChild(downloadElement) // 下载完成移除元素
window.URL.revokeObjectURL(href) // 释放掉blob对象
})
.catch(err => {
console.log(err)
})