- 调用后端接口时需要在axios请求里面添加
responseType: 'blob'
- 获取到接口返回数据后
// 创建Blob对象
const blob = new Blob([res.data])
const filename = decodeURI(
res.headers['content-disposition'].split('=')[1]
)
// filename = filename.substring(7)
// 获取路径
const url = URL.createObjectURL(blob)
// 创建a标签
const el = document.createElement('a')
el.download = filename
// 设置a标签链接参数
el.href = url
// 重命名文件
el.click()
// 下载完成释放URL 对象
URL.revokeObjectURL(url)
// 移除a标签
document.body.removeChild(el)