使用Connect Multiparty在节点js中中止处理请求

时间:2014-06-20 13:41:26

标签: node.js express multipartform-data multipart

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)

使用connect multiparty中间件在节点js中上传多个文件时出现此错误。我甚至没有上传大尺寸文件。它不超过50mb。在上传文件时断开互联网连接时特别是出现此错误。有没有办法处理这个错误。

2 个答案:

答案 0 :(得分:0)

您应该使用Multer js进行文件上传。

答案 1 :(得分:0)

就我而言,我可以解决添加更多请求/响应超时的问题。

如果你正在使用快递:

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/');