二进制流内容,如图
一、使用axios
后台给个接口aixos请求得到二进制流信息,使用blob格式
具体代码如下
function downloadExcel() {
axios({
method: 'post',
url: url, // 请求地址
//data: options, // 参数
responseType: 'blob', // 表明返回服务器返回的数据类型
headers: {
//Authorization: getToken(), //token 具体看要求
},
}).then((res) => {
console.log(res.data)
let blob = new Blob([res.data], {
type: 'application/vnd.ms-excel',
})
console.log(blob)
let fileName = Date.parse(new Date()) + '.xlsx'
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(blob, fileName)
} else {
// 下载excel
var link = document.createElement('a')
link.href = window.URL.createObjectURL(blob)
link.download = fileName
link.click() //释放内存
window.URL.revokeObjectURL(link.href)
}
})
}
二、还有一种是后台给个excel地址链接
function downloadExcel() {
let a = document.createElement('a')
a.href ="url" //url是excel地址
a.click();
}
完成