前端axios请求, 后端接口返回文件流,完成下载
Posted 哈娄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端axios请求, 后端接口返回文件流,完成下载相关的知识,希望对你有一定的参考价值。
1.需要声明 axios的 responseType: 'blob'格式 (设置相应数据的类型,设置后后台返回的数据会被强制转为blob类型)
axios.post(url, data, { responseType: 'blob' })
2.声明a标签, 完成下载功能函数。
得到接口的 文件流返回值res, 调用此函数 downloadFn(res) 完成下载
// flow为接口返回的文件流
const downloadFn = (flow = null) => {
if (!flow) return
const blob = new Blob([flow])
const blobUrl = window.URL.createObjectURL(blob)
const a = document.createElement('a')
a.style.display = 'none'
a.download = 'Participants.xlsx' // 自定义下载的文件名
a.href = blobUrl
a.click()
document.body.removeChild(a)
}
以上是关于前端axios请求, 后端接口返回文件流,完成下载的主要内容,如果未能解决你的问题,请参考以下文章