通过客户端下载Nodejs文件(客户端充当服务器和文件之间的'middleman')

Nodejs file download via client (client act as 'middleman' between server and file)

首先,我知道这似乎不合逻辑,因为我可以将下载 URL 发送到服务器。问题是用户可以访问这些下载链接,因此对于那些可以访问的人,我需要能够下载它。我真的无法解释为什么,因为我在 NDA 下。

我正在尝试通过客户端(浏览器)从 URL 下载文件并将数据直接流式传输到保存文件的服务器,因此客户端基本上充当“中间人”并且不需要将文件下载到客户端的机器上。

我一直在试验“socket.io-stream”和“socket.io-file”,但我在这两个方面都遇到了一些问题。 “socket.io-stream”允许我从客户端上传特定文件到服务器,但上传的文件大小为 0kb,并且在 Github.

上没有任何示例

"socket.io-file" 有示例,我已经按照这些示例进行了设置,因此我可以使用输入标签 select 将文件成功上传到服务器。

据我所知,“socket.io-file”上传函数以一个文件对象作为参数。

所以我真的有两个问题:

  1. 是否有适用于 JS(浏览器)和 NodeJs(服务器)的插件允许我执行此操作?

  2. 如何从外部创建文件对象url?

我解决到此结束,使用chrome扩展名将文件下载为blob对象,将对象传递给内容脚本,然后使用socket.io-stream将其上传到服务器。