比如我的node端是这样写的:
或者使用exceljs 生成的
按照正常的逻辑,我在前端请求这个地址就可以直接下载这个excel文件的,但是不行啊。
我又在网上搜,说是要写成这样:
点击一个按钮,然后发送请求,上面是请求那个node端接口后,执行的代码。
是可以请求到的
这是打印出来的response
可以下载文件,这个文件是这样的
怎么解决?或者有更好的办法么?
哦, 直接在node端 生成excel ,我也试过了,哎、、、、
更新
现在我是这样写的
文件也是可以生成的
但是前端怎么请求呢?
前端我用的react写的,
点击一个按钮,
现在用a链接,form都不好使
页面都会跳转
对了,为了支持前端路由
node端 还应用了connect-history-api-fallback
正好前端时间我也有个node生成xlsx,前端下载的需求。
我贴一下nodejs的代码,你可以参考一下:
前端我并没有采用Blob去下载文件,考虑到兼容性,所以使用的form表单提交,可以实现浏览器下载文件。
另外我觉得最简单的办法就是node生成xlsx文件,然后浏览器直接通过url下载。但是看你的说明,也尝试过不过没成功。我怀疑是你并没有把生成的xlsx所在目录设置为资源目录,导致浏览器找不到该位置。
---- 第一次更新 ----
我可以贴一下我这前端form下载的代码供你参考,无跳转。
如果直接下载文件,确实是要改
connect-history-api-fallback
的,增加一条rewrites
才可以。