Boaz

接口Content-Type: application/octet-stream响应文件流怎么下载?1个方法解决
downloadFile(res, file_name='download') { console.log(r...
扫描右侧二维码阅读全文
07
2022/05

接口Content-Type: application/octet-stream响应文件流怎么下载?1个方法解决

downloadFile(res, file_name='download') {
  console.log(res)
  if (!res) {
    return
  }
  if (window.navigator.msSaveBlob) {  // IE以及IE内核的浏览器
    try {
      window.navigator.msSaveBlob(new Blob([res]), file_name)
      // res为接口返回数据,这里请求的时候已经处理了,如果没处理需要在此之前自行处理var data = new Blob([res.data]) 注意这里需要是数组形式的,fileName就是下载之后的文件名
      // window.navigator.msSaveOrOpenBlob(res, fileName);  //此方法类似上面的方法,区别可自行百度
    } catch (e) {}
  } else {
    let url = window.URL.createObjectURL(new Blob([res]))
    let link = document.createElement('a')
    link.style.display = 'none'
    link.href = url
    link.setAttribute('download', file_name)// 文件名
    document.body.appendChild(link)
    link.click()
    document.body.removeChild(link) // 下载完成移除元素
    window.URL.revokeObjectURL(url) // 释放掉blob对象
  }
},
Last modification:May 7th, 2022 at 02:55 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment