下载后端返回文件流的文件

1、文件流的处理

// 新建对象
const reader = new FileReader()
reader.readAsArrayBuffer(res) // res为后端返回的文件流
reader.onload = (e) => {
  const result = e.target.result
  const contentType = res.type
  const blob = new Blob([result], { type: contentType })
  const url = URL.createObjectURL(blob)
}

2、下载后端返回文件流的文件

接口方法.then(res => {
  const readers = new FileReader()
    readers.readAsArrayBuffer(res)
    readers.onload = (e) => {
      const result = e.target.result
      const contentType = res.type
      const blob = new Blob([result], { type: contentType })
      const url = URL.createObjectURL(blob)
      let link = document.createElement("a")
      link.href = url
      link.setAttribute('download','下载文件名字')
      link.style.display = 'none'
      document.getElementsByTagName('link')
      link.click()
    }
})

注:接口方法中要加: responseType: ‘blob’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值