前端文件流导出

1、前端代码

javascript 复制代码
​
/** 导出 */
const handleExport = async () => {
  let config = {
    responseType: 'blob',
    headers: {
      'Content-Type': 'application/json',
    },
  };
  const res = await getTargetExport(config);
  const blob = new Blob([res]);

  const fileName = 'PK目标跟进导出列表.xls';
  const linkNode = document.createElement('a');

  linkNode.download = fileName;
  linkNode.style.display = 'none';

  linkNode.href = URL.createObjectURL(blob);
  document.body.appendChild(linkNode);

  linkNode.click();
  URL.revokeObjectURL(linkNode.href);
  document.body.removeChild(linkNode);
};

/** 导出接口 */
export const getTargetExport = config => {
  return request(`${prefixPath}/target-follows/export`, {
    method: 'GET',
    ...config,
  });
};

​

2、后端返回数据:

相关推荐
用户033307413956 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
daisychey6 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
IT_陈寒7 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
大龄秃头程序员7 小时前
iOS冷启动监控Demo
前端
光影少年7 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
掘金酱7 小时前
[稀土掘金 × 火山引擎] AI用量周榜冲刺赛|获奖名单公示
前端·人工智能·后端
泡泡oO8 小时前
“如果你还在用Superpowers,那我不要和你说话”
前端·后端·全栈
维克兜率天8 小时前
趋势过滤:避免被“假突破“反复打脸
前端
8年区块链老兵8 小时前
一篇文章教会你:用区块高度读懂比特币链上的每一笔交易
前端
xixichensh9 小时前
前端转做AI程序员第一步——开发一个AI流式对话Demo
前端