下载文件在页面中

66 阅读1分钟

文件地址下载

    const x = new XMLHttpRequest()
    x.open('GET', file.url, true)
    x.responseType = 'blob'
    x.onload = function() {
      const url = window.URL.createObjectURL(x.response)
      const a = document.createElement('a')
      a.href = url
      a.download = file.name
      a.click()
    }
    x.send()
    
    

后台获取数据文档流 需要下载 axios saveAs import axios from 'axios'; import { saveAs } from 'file-saver';

  downloadFile(fileStream, saveFileName) {
    return new Promise((resolve, reject) => {
      const blob = new Blob([fileStream])
      if (navigator.msSaveBlob) { // 兼容IE
        navigator.msSaveBlob(blob, saveFileName)
      } else {
        const url = window.URL.createObjectURL(blob)
        saveAs(url, saveFileName)
      }
      resolve()
    })
  }