我需要使用ExpressJS处理多文件上传,我不知道客户端上传的文件数量。
当我尝试上传超过244个文件时,服务器崩溃了。在上载表单和uploadHandle操作之间上载期间抛出错误。 (这些文件并非全部复制到我的/ public / upload文件夹,只有244复制)
增加 ulimit 限制似乎有点脏,因为即使我将其设置为10000,如果有人尝试上传更多文件,我的服务器也会崩溃。
有没有一种干净的方法来处理它?</ p>
谢谢。
答案 0 :(得分:1)
不能一次创建那么多文件就像是正确的方法。您可以通过以下几种方式处理这些问题,例如,如果您不必支持旧版浏览器,则可以使用HTML5 File Api在浏览器中对其进行排队。
您还可以在收到文件时在服务器端流式传输文件,这样您就不会创建打开的文件指针,并将它们缓冲到内存中。如果您需要打开所有这些文件并以某种方式处理它们,那么正如建议的那样,node-graceful-fs可以在该领域提供帮助。