一般存在两种方式:
1,请求接口之后,后端返回文件路径,前端直接下载。
2,请求接口之后,后端以文件流的形式返回给前端,前端再下载到本地。
第一种方式:
window.location.href = res.request.responseURL
直接拿取下载,但是不能改名称。
第二种方式:
就是正常的api请求,后端以文件流的形式发送给前端,前端获取到文件数据之后,在本地模拟一次点击按钮下载

data时你要传递的数据,重点是 responseType: 'blob',请求时要设置类型,我这里是下载后端传来的二进制流压缩包,

拿到数据之后想干嘛就随意了,无非是改名字,创建标签链接。
const blob = new Blob([result.data]);
const link = document.createElement('a');
link.download = fileName;
link.href = URL.createObjectURL(blob);
link.click();
本文探讨了前端通过API接收后端文件的两种常见下载策略:一是直接通过URL获取路径,二是接收二进制流并模拟下载。重点讲解了如何设置 responseType 为 blob,以及如何修改文件名和创建下载链接的操作。

4902

被折叠的 条评论
为什么被折叠?



