vue 下载二进制流文件的方法

接口调取成功后

    const blob = new Blob([res.data], {     // 创建一个新的Blob对象来接收后端的文件,这里第一个参数必须是数组类型,否则下载必出错。
        type: 'application/vnd.ms-excel'    // type,表明该 Blob 对象所包含数据的 MIME 类型,这需要前后端统一规划
    })
    let link = document.createElement('a')
    let body = document.querySelector('body')
    link.href = window.URL.createObjectURL(blob) // 
    link.style.display = 'none' // 让这个a标签不可见
    link.download = '文件名称'  //文件名称
    body.appendChild(link)
    link.click()        // 创建了新的a标签之后模拟点击事件,开始传输文件
    body.removeChild(link)  // 下载完成之后,移除按钮,垃圾回收,减少页面内存消耗
    window.URL.revokeObjectURL(link.href)   // 移除之前使用createObjectURL创建的URL,垃圾回收

你可能感兴趣的:(vue 下载二进制流文件的方法)