方法

59 阅读1分钟

文件流

axios.post(encodeURI(url_), params, {
    headers: headers_,
    responseType: 'blob'
  }).then(res => {
    if (res.data) {
      let blob = new Blob([res.data], { type: 'text/csv' });
      if ('msSaveBlob' in navigator) { // 对IE和Edge的兼容
        window.navigator.msSaveBlob(blob, filename_)
      } else {
        let a = document.createElement('a')
        let url = window.URL.createObjectURL(blob)

        var evt = document.createEvent('HTMLEvents') // 对firefox的兼容
        evt.initEvent('click', false, false) // 对firefox的兼容
        a.href = url;
        a.download = filename_;

        a.dispatchEvent(evt) // 对firefox的兼容
        a.click()
        window.URL.revokeObjectURL(url)
      }
    }
  })