Javascript 将具有请求大小限制的大型文件上载到Node.JS服务器

Javascript 将具有请求大小限制的大型文件上载到Node.JS服务器,javascript,node.js,file-upload,chunked,Javascript,Node.js,File Upload,Chunked,情况: 我有一个Node.JS服务器。NGINX被设置为将请求大小限制为5MB 我需要将大文件(约15MB)从运行在浏览器中的客户端上载到服务器 有3个服务器实例在没有共享内存/文件系统的情况下运行 我所做的: 我使用一些库将文件分解成块(

情况:

我有一个Node.JS服务器。NGINX被设置为将请求大小限制为5MB

我需要将大文件(约15MB)从运行在浏览器中的客户端上载到服务器

有3个服务器实例在没有共享内存/文件系统的情况下运行

我所做的:

我使用一些库将文件分解成块(<5MB),并将它们发送到服务器。成功地将最后一个区块发送到服务器后,客户端调用服务器端点以发出完成信号,然后发生区块合并。当我有一个服务器实例在运行时,这就起作用了。由于负载平衡等原因,发送区块的每个请求可能由服务器的不同实例处理。因此,块可能无法正确合并

我想到的解决方案:

最终的解决方案(在我看来)是如何在一个请求中将数据块流式传输到服务器,而这个请求只由一个服务器实例处理

流API仍处于实验阶段。我想尝试一下,但还没有找到一个好的例子。我听说客户端的流API与Node.JS上的流不同,需要做更多的事情

我对HTTP头的
传输编码:chunked
做了一些研究。有人说发送大文件很好,但我还没有找到一个好的工作示例来实现这一点

我还想到了WebSocket(甚至是Socket.io)与服务器实例建立连接并发送块。然而,一些阅读材料告诉我WebSocket不是发送大文件的好方法

问题:

如何以最有效的方式将大型文件发送到一个服务器实例