js处理后端给返回的二进制文件流,下载到本地
// 下载文件
export const stream2xlsx = (blobStream,name) => {
// console.log(‘blobStream—’, blobStream);
const blob = new Blob([blobStream], {type: ‘application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8’});
const fileName = name?name+${moment().format('YYYY-MM-DD HH:mm:ss')}.xlsx
:${moment().format('YYYY-MM-DD HH:mm:ss')}.xlsx
if (‘download’ in document.createElement(‘a’)) { // 非IE下载
const elink = document.createElement(‘a’)
elink.download = fileName
elink.style.display = ‘none’
elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href) // 释放URL 对象
document.body.removeChild(elink)
} else { // IE10+下载
navigator.msSaveBlob(blob, fileName)
}
}