以前用vue框架的时候,写过不少下载上传的东西,当然包括后端返回文件流供前端下载,现在用react,牵扯到这个功能,又提起来说,有两种下载类型,一种是Excel,一种是Csv。


首先后端返回这种:

或者这种(原谅我打的马赛克,凑合看吧):


开始撸代码,首先在services层写上我们的下载接口,看到那个responseType: 'blob',那个是要加的呦,至于作用,看看网上文档解说好多的,这个属性不是加在headers里面的!!它是和headers平级的!!因为爱过,所以填了很久的坑

然后在页面中调用,那个res就是返回的文件流了:

这是封装的那个downLoadDataQuery下载函数:

至于let downName = sessionStorage.getItem('DataQuerDownLoadName')这个获取下载文件名的,是放在响应头的这里,我在响应拦截器里面存的:


就酱~
你们都会莫名静音吗

更多推荐

react前端下载后端返回文件流(文件流下载excel、csv)