在做一些文件下载的时候,后端返回的二进制流文件,这里前端的兄弟姐妹就需要处理一下了。
直接上代码:
// 下载
export function download(id) {
return request({
url: `/rancher/download_contract/${id}`,
method: "get"
});
}
download(row.contractId).then(data => {
// 二进制流转换
downloadFile(data.data, "wasm"); // 前面的是流文件,后面的是文件后缀名
});
downloadFile:
export function downloadFile(data, type){
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
let blob = new Blob([data], {
type: 'application/'+type
})
window.navigator.msSaveOrOpenBlob(blob,
new Date().getTime() + '.'+type)
} else {
/* 火狐谷歌的文件下载方式 */
var blob = new Blob([data])
var downloadElement = document.createElement('a')
var href = window.URL.createObjectURL(blob)
downloadElement.href = href
downloadElement.download = new Date().getTime() + '.'+type
document.body.appendChild(downloadElement)
downloadElement.click()
document.body.removeChild(downloadElement)
window.URL.revokeObjectURL(href)
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)