React + ant-design实现文件下载

我们知道react实现一个请求的流程是,页面js文件触发事件,然后调用models内的fetch,然后再去service内找对应的api,发送request请求即完成。

现在我在开发的过程中碰到一个问题,我发送如下的请求

React + ant-design实现文件下载

本应返回一个文件然后触发下载,但实际上只是返回了文件内容如下

React + ant-design实现文件下载

如果把这个请求复制到地址栏然后访问倒是能触发下载,所以想到能不能通过开一个a标签然后访问。但是在最开始的页面文件并不能拿到这个url,因为ip是在request里面拼装的(或许是我个人对react框架理解不够),现在的解决方法是在service内的api函数里触发a标签,如下

React + ant-design实现文件下载