导出文件 - 前端调用后端接口,根据返回数据做文件导出

Posted zlzbt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导出文件 - 前端调用后端接口,根据返回数据做文件导出相关的知识,希望对你有一定的参考价值。

发起请求参数

return await request<Record<string, any>>(`$apiUrl`, 
      method: 'POST',
      data: something,
      responseType: 'blob',  // 必填
    );

接受返回数据data

//发起请求
const data = await post(param);
// 处理返回数据
const reader = new FileReader();
reader.readAsArrayBuffer(data);
reader.onload = (e) => 
   const result = e?.target?.result || '';
   const blob = new Blob([result],  type: data.type );
   const url = URL.createObjectURL(blob);
   //  将文件下载下来
   const link = document.createElement('a');
   link.href = url;
   link.setAttribute('download', `$playId.qplay`);
   link.style.display = 'none';
   document.getElementsByTagName('link');
   link.click();
;

以上是关于导出文件 - 前端调用后端接口,根据返回数据做文件导出的主要内容,如果未能解决你的问题,请参考以下文章

导出文件 - 前端调用后端接口,根据返回数据做文件导出

前端axios请求, 后端接口返回文件流,完成下载

前端调用后端接口 超时处理 Promise.race() 应用

前端如何调用后端接口进行数据交互(极简)

接口返回的一个图片文件, 前端用vue如何显示?

如何优雅地校验后端接口数据,不做前端背锅侠