工作总结之记录如何使用post方法做导出文件功能

一般导出EXCEL表格会用get方法,但是实际工作中也会遇到使用post的方法的情况。

那么如何用呢?下面用例子来展示

import axios from 'axios'

exportTable = () => {
    try {
        axios.post(`接口路径`, 所需参数, {
          responseType: 'blob',
          headers: {
            'Content-Type': 'application/json'
          }
        }).then(res => {
          if (res.data && res.data.success === false) {
            Toast.error(res.data.errorMsg);
          } else {
            let link = document.createElement('a')  // 创建一个a标签
            link.href = URL.createObjectURL(res.data) // 生成下载路径
            link.download = `${overviewData.title}详细信息.xls` // 导出文件名设置 
            link.dispatchEvent(new MouseEvent('click')) // 导出方式
            /*(
              或者用简洁的方式可以这样写
             let url = URL.createObjectURL(res.data);
             link.download = '掉电数据导出.xlsx';
             link.href = url;
             link.click();
              )*/
          }
        });
      } catch (error) {
         console.log(error) // 捕捉错误
      }
}


<Button onClick={this.exportTable}>导出文件</Button>

  

posted @ 2021-09-06 15:20  Judy倩倩  阅读(184)  评论(0)    收藏  举报