koa2如何下载远程excel文件并传给前端?

因为下载地址是内网地址,所以前端不能直接请求后端的下载地址,需要用koa2包一层,请问koa2如何请求后端excel文件并传给前端呢?

试了koa-send,貌似只能传本地文件,我希望是koa2起一个中转作用,不需要保存文件到本地再传给前端。。

阅读 4.1k
3 个回答

内网地址?node中用 axios 请求咯,request 库也可以,自带的http库。如果是本地文件的话fs读流。

request 请求远端服务器返回结果为文件流的形式,然后内网服务设置response header
Content-Type:application/octet-stream
把远端请求返回的流返回给本地服务

这个问题,你可以分两步走

  1. 把文件先下载到服务器(先判断之前是否有下载过,如果文件会变动,那你返回给前端之后,记得清除,保证每次都下载最新的文件)
  2. 把下载到本地的文件再返回给前端

或者你直接用stream,边下载边返回给前端也可以

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题