关于前端:Blob对象处理流文件

58次阅读

共计 576 个字符,预计需要花费 2 分钟才能阅读完成。

1,下载文件时接口返回流,相似下图

2,解决
dispatch({

     type: 'newCardBin/download',
     payload: {afsKey, fileName}
   }, {responseType: 'blob'}).then((rsp) => {// 须要制订 responseType 不然会呈现乱码,有效的话看下是否有 mock.js 文件,正文掉 mock 的引入 

}) })
申请接口拿到 rsp
let fileName = ‘1.xlsx’
const blob = new Blob([rsp]); // 创立 blob 对象

  const aLink = document.createElement('a'); // 创立 a 链接
  aLink.style.display = 'none';
  aLink.href = blob;
  aLink.download = fileName;  //fileName 也能够依据
  document.body.appendChild(aLink);
  aLink.click();
  document.body.removeChild(aLink); // 点击实现后记得删除创立的链接

即可将流文件转化为 主动下载的文件
3,留神:fileName 后缀要为.xlsx .docx 等,如果简略命名可能会转为 htm 后缀文件
4,前端文件下载几种形式:https://blog.csdn.net/weixin_…

正文完
 0