js输出后台二进制文件流

606 阅读1分钟

主要是通过Blob对象实现 首先构造一个Blob对象,然后加一个虚拟的a标签进行下载

Blob(blobParts[, options]) // 返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成

具体内容可看developer.mozilla.org/zh-CN/docs/… 用Blob

const blob = new Blob([file.file.response], { type: 'application/text' })
const a = document.createElement('a')
// 导出文件名 + 后缀类型
a.download = '导入日志-' + (+new Date()) + '.txt'
a.href = window.URL.createObjectURL(blob)
a.click()
a.remove()
window.URL.revokeObjectURL(blob)

以上就是输出二进制文件流代码,如果不需要再调用,一定要释放掉URL.createObjectURL()方法创建的对象URL和移除掉添加的a链接