当我们使用axios请求下载接口,返回的文件流过大时就会出现接口一直在调,数据一直在传输(此过程会导致浏览器崩溃),但是并不是真正意义上的下载,只有前端使用blob进行存储后使用saveAs()函数的时候才是真正意义上的下载文件,这个时候浏览器才会弹出文件下载。但是在数据流传输的空挡浏览器不会认为是在下载。
解决方案:****
1. 后端最好能返回文件的地址,我们通过访问地址来下载文件。这样的话浏览器能够直接弹出下载提示,并下载文件。浏览器也不会崩溃。
2. 引用FileSaver.js,但是具体效果我本地测试没有崩溃过,需要线上实验一下
npm install file-saver --save 安装 import { saveAs } from ‘file-saver’; 引入