【学习记录】前端请求接口导出数据

这里是web端下载,小程序端要将二进制文件转换为arraybuffer格式

// 导出
export function ZTexport(data) {
    return request({
        url: 'url',
        method: 'post',
        data,
        //响应数据格式
        responseType: 'blob',
    })
}
 //批量导出
    exportData() {
      if (this.ids.length > 0) {
          //请求接口返回res二进制文件流
        ZTexport({ ids: [...this.ids] }).then((res) => {
          if (res) {
            //创建blob对象
            const url = new Blob([res]);
            //创建下载链接
            const aURL = URL.createObjectURL(url);
            //创建a标签
            const aD = document.createElement("a");
             //下载文件名与拓展名
            aD.download = "自定义文件名.xlsx";
            //隐藏a标签
            aD.style.display = "none";
            //将下载链接给a标签
            aD.href = aURL;
            //将a标签追加到body
            document.body.appendChild(aD);
            //点击a标签
            aD.click();
            //移除链接
            aD.removeAttribute(aD.href);
            //移除a标签
            document.body.removeChild(aD);
          }
        });
      } else {
        Message.warning("请选择需要导出的数据");
      }
    },


版权声明:本文为m0_66877959原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。