2015-01-15 3 views
2

이미지를 업로드 할 노드 코드가 있습니다. 이미지 크기는 10 ~ 200K입니다. 당신이 볼 수 있듯이 그다지 크지는 않습니다. 문제는 그것이입니다. 노드가 업로드시 오랜 시간 (10 분이 될 수 있습니다) 바쁜 상태를 유지하고 새로운 요청에 응답하지 않는 것 같습니다. 이 코드는 Android 앱에서 사용하는 JSON API의 일부입니다.이미지 업로드에 NodeJS가 걸림

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(); 
        } 
       }); 
      }); 

답변

2

요청이 결코 매달려 왜, 그것은 응답

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 
      } 
     }); 
    }); 
}); 
+0

희미한 기다리고있는 브라우저에 아무것도 반환하지 않습니다! 2 일 전에 물어봐야 겠어. 정말 고맙습니다! – lonelyloner

+0

언제든지 답변을 보내주십시오. – adeneo

관련 문제