vue处理blob,进行下载

  • Post author:
  • Post category:vue


前提:后端返回的是一个压缩好的文件流

首先在请求的时候需要加上


responseType: ‘blob’

const download = (blob, name) => {
          const link = document.createElement('a') // 创建一个a标签
          const url = URL.createObjectURL(blob) // 将blob文件对象通过URL.createObjectURL()方法转为为url
          link.href = url // 为a标签设置href属性,并赋值为url
          link.download = name // 定义下载的文件名,文件名要包含后缀哟!如'导出EXCEL.xlsx'
          document.body.appendChild(link) // 把a标签放在body上
          link.click() // 出发a标签点击下载
          document.body.removeChild(link) // 在body中移除这个a标签
          URL.revokeObjectURL(url) // 释放blob对象
        }

函数有两个参数,第一个是blob对象;第二个是文件名称,包含文件后缀。

然后拿到数据直接调用就好了



版权声明:本文为weixin_44350315原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。