NodeJS卡在上传图片

NodeJS stuck in uploading image

我有一段上传图片的节点代码。图片大小为10~200K。如您所见,您在 all.The 上并不大 问题是 节点似乎在上传时保持忙碌很长时间(可能是 10 分钟)并且它不会响应新请求。该代码是 JSON API 的一部分,由 Android 应用使用。

var fs = require('fs');

exports.upload = function(req, res){
  ....
  var rawBody = new Buffer('');
  req.on('data', function(chunk){
                rawBody = Buffer.concat([rawBody, chunk]);
  });
  req.on('end', function(){
                winston.info('on end of uploading moment');
                fs.writeFile(filepath, rawBody, 'binary', function(err){
                    if(err) winston.error(err);
                    else{

                        db.updatesomething();
                    }
                });
            });

请求从未 returns 向浏览器发送任何内容,这就是它挂起的原因,它正在等待响应

var fs = require('fs');

exports.upload = function(req, res){

    var rawBody = new Buffer('');
    req.on('data', function(chunk){
          rawBody = Buffer.concat([rawBody, chunk]);
    });
    req.on('end', function(){
        winston.info('on end of uploading moment');
        fs.writeFile(filepath, rawBody, 'binary', function(err){
            if(err) {
                winston.error(err);
                res.end('error');
            } else {
                db.updatesomething();
                res.end('success'); // send a response back
            }
        });
    });
});