Blob对象处理流文件

1,下载文件时接口返回流,类似下图
Blob对象处理流文件_第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_...

你可能感兴趣的