流文件导出直接下载

文件的异步导出,此处是采用post的方法导出excel

 axios({
        method: 'POST',
        url: '接口链接',
        data: param,
        responseType: 'blob' //必须添加最后才能形成流文件
      }).then(response => {
        this.exportExcel(response, '生成文件的名称', this.searchForm.startTimeDate, this.searchForm.endTimeDate)
        this.loadingFull = false
      }).catch(error => {
        console.log(error)
        this.loadingFull = false
      })

调用接口获取流文件之后获取数据,进行下载处理

 exportExcel (res, fileName, startTimeDate, endTimeDate) {
      return new Promise((resolve, reject) => {
        try {
          const blob = new Blob([res.data], {
            type: 'application/vnd.ms-excel'
          })
          const elink = document.createElement('a')
          // let timestamp = Date.parse(new Date())
          elink.style.display = 'none'
          elink.download = fileName + startTimeDate + '.' + endTimeDate + '.xlsx' // 文件名称
          elink.href = URL.createObjectURL(blob)
          document.body.appendChild(elink)
          elink.click()
          URL.revokeObjectURL(elink.href)
          document.body.removeChild(elink)
          return
        } catch (e) {
          console.log('导出错误')
          reject(e)
        }
      })

文件下载ok

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容