ExpressJS上传了许多没有EMFILE错误的文件

时间:2013-04-11 23:53:44

标签: node.js express

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

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

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

有没有一种干净的方法来处理它?<​​/ p>

谢谢。

1 个答案:

答案 0 :(得分:1)

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

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