0

我需要使用 ExpressJS 处理多个文件上传,但我不知道客户端上传的文件数量。

当我尝试上传超过 244 个文件时,服务器崩溃。在上传表单和uploadHandle 操作之间的上传期间抛出错误。(文件并没有全部复制到我的 /public/upload 文件夹,只有 244 先)

增加ulimit限制似乎有点脏,因为即使我将其设置为 10000,如果有人尝试上传更多文件,我的服务器也会崩溃。

有没有一种干净的方法来处理它?

谢谢你。

4

1 回答 1

1

一次不创建那么多文件感觉像是正确的方法。您可以通过多种方式处理此问题,例如,如果您不必支持旧版浏览器,则使用HTML5 File Api在浏览器中对它们进行排队。

您还可以在接收到文件时在服务器端流式传输文件,这样您就不会创建打开的文件指针并将它们缓冲到内存中。如果您需要打开所有这些文件并以某种方式处理它们,那么按照建议,node-graceful-fs可以在该领域提供帮助。

于 2013-04-12T02:40:10.543 回答