鱼塘码农

菜鸟学习记录
鱼海无涯

Vue导出后台传过来的Excel

头一次接收后台直接传过来的文件,在此记录一下params:参数;url:接口地址
{ responseType: 'blob' }必传!指定文件格式

exportRecordBtn() {
      let params = {
        detectionTimeS: this.startDate,
        detectionTimeE: this.endDate,
        deptId: this.deptId,
      };
      let url =
        'http://10.205.31.51:8080/XXXXXX/';

      return new Promise((resolve, reject) => {
        this.$http
          .post(url, params, { responseType: 'blob' })
          .then(res => {
            const link = document.createElement('a');
            const blob = new Blob([res], { type: 'application/vnd.ms-excel;' });
            link.style.display = 'none';
            link.href = URL.createObjectURL(blob);
            link.setAttribute('download', `文件名.xls`);
            document.body.appendChild(link);
            link.click();
            document.body.removeChild(link);
            resolve({ message: '导出成功' });
          })
          .catch(err => {});
      });
    },

有个小坑,就是有mock的必须关闭mock,否则会一直乱码,废了好长时间才找到问题。

文章内容可能来自网络,纯为学习使用,若有侵权,请联系我删除 | 当前页面:鱼塘码农 » Vue导出后台传过来的Excel

评论