- 一般后端的文件下载接口返回数据分为2类(文件流、二进制流)
- 二进制流:

// vue axios接口配置
export function downloadRobotReport(params) {
return request({
url: "/report/download",
method: "get",
params,
responseType:"blob"
})
}
downloadRobotReport({
sn: row.sn,
}).then((res) => {
console.log(res.data)
// 创建一个URL对象,该对象表示一个指向指定数据的URL。通常,这个方法用于将二进制数据转换为URL,以便在浏览器中显示或下载。
let url = window.URL.createObjectURL(res.data)
let a = document.createElement("a")
document.body.appendChild(a)
let fileName = res.headers["content-disposition"]
.split("
.split("=")[1]
a.href = url
a.download = fileName
a.click()
//下载完成释放url资源
window.URL.revokeObjectURL(url)
})