Обработка запроса, прерванного в Node js, с помощью Connect Multiparty

Error: Request aborted
at IncomingMessage.onReqAborted (D:\ProjectName\node_modules\express\node_modules\connect\node_modules\multiparty\index.js:131:17)
at IncomingMessage.EventEmitter.emit (events.js:92:17)
at abortIncoming (http.js:1911:11)
at Socket.serverSocketCloseListener (http.js:1923:5)
at Socket.EventEmitter.emit (events.js:117:20)
at TCP.close (net.js:466:12)

Я получаю эту ошибку при загрузке нескольких файлов в node js с помощью промежуточного программного обеспечения подключения. Я даже не загружаю файлы большого размера. не более 50мб. В частности, возникает эта ошибка, когда подключение к Интернету отключается при загрузке файлов. Есть ли способ справиться с этой ошибкой.


person R J.    schedule 20.06.2014    source источник
comment
Вы нашли решение?   -  person detj    schedule 27.08.2014
comment
Неа. Я использовал пакет multer для загрузки файлов вместо подключения multiparty.   -  person R J.    schedule 08.09.2014


Ответы (2)


В моем случае я могу разрешить добавление большего времени ожидания запроса/ответа.

Если вы используете экспресс:

var server = app.listen(app.get('port'), function() {
  debug('Express server listening on port ' + server.address().port);
});
server.timeout = 1000 * 60 * 10; // 10 min

Также существует промежуточное ПО для Connect/Express: https://github.com/expressjs/timeout.

Если вы не используете экспресс и работаете только с ванильным узлом:

var http = require('http');
var server = http.createServer(function (req, res) {
  setTimeout(function() {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
  }, 200);
}).listen(3000, '127.0.0.1');

server.timeout = 1000 * 60 * 10; // 10 min
console.log('Server running at http://127.0.0.1:3000/');
person slorenzo    schedule 15.02.2016

Вы должны использовать Multer js для загрузки файлов.

person milk2go    schedule 03.08.2015