使用nodeJS上传多个图像时POST net :: ERR_INSUFFICIENT_RESOURCES

时间:2015-03-26 02:07:02

标签: javascript html node.js file-upload express

我已经对此做了一些研究,但大多数情况下我最终都会查询以限制要上传的文件数量。我正在开发一个Web应用程序(在nodeJS服务器上运行),它具有上传文件的功能(主要是图像)。现在,我正在使用一个简单的html表单,其中包含上传内容的以下输入,

<input id="myFile" type="file" name="file" multiple="multiple"/>

目标是接受来自用户的多个文件上传,数千个图像。我使用nodejs模块 formidable 来解析上传时的表单元素并处理多个图像(存储,重命名等)。

form.on('field', function(field, value) {
    fields.push([field, value]);
})
form.on('file', function(field, file) {
    files.push(file);
})
form.on('end', function() {
    console.log('done');
});
form.on('progress', function(bytesReceived, bytesExpected) {
    console.log('Progress so far: '+(100*(bytesReceived/bytesExpected))+"%");
});
form.parse(req, function(err, fields, files) {
    //my logic to storing and handling the file uploads
}

所以现在,我能够一次性处理大约8000张图像(256x256尺寸)的上传。但是,如果用户选择超过此限制,应用程序将崩溃重定向到显示“此网页不可用”的页面。我检查了浏览器控制台,它抛出以下错误,

POST http://localhost:3000/fileupload net::ERR_INSUFFICIENT_RESOURCES

我希望能够处理明显超出此限制的上传内容。我真的想知道是否有办法处理这个问题,如果这是一个关于nodejs处理上传或基本HTML POST请求限制的错误。我对此很新,我真的很感激任何帮助。如果问题需要进一步澄清,请告诉我。

1 个答案:

答案 0 :(得分:1)

net::ERR_INSUFFICIENT_RESOURCES错误表示您在浏览器中耗尽了(内存)资源。 Node可以轻松处理那么多I / O,但似乎浏览器无法同时处理那么多数据。