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_…