请求时增加参数,responseType: ‘blob’
1、下载blob文件流
const res = await this.portService.exportList({ id: this.guid })
// let filename = decodeURI(res.headers['content-disposition'].split(';')[1])
// filename = decodeURIComponent(filename.replace(' filename=', ''))
let url = window.URL.createObjectURL(new Blob([res]))
let a = document.createElement("a")
document.body.appendChild(a)
a.href = url
a.download = `保证金缴纳汇总表-${this.$moment(new Date()).format("YYYY-MM-DD")}.xls`; //命名下载名称
a.click(); //点击触发下载
window.URL.revokeObjectURL(url); //下载完成进行释放
2、下载本地文件(下载内置模板之类)
downloadTemplate() {
axios.get('export/导入信息范本.xlsx', {
responseType: 'blob',
})
.then((response) => {
const url = window.URL.createObjectURL(new Blob([response.data]))
const link = document.createElement('a')
let fname = '导入信息范本.xlsx'
link.href = url
link.setAttribute('download', fname)
document.body.appendChild(link)
link.click()
})
},