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
}
});
});
});
我有一段上传图片的节点代码。图片大小为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
}
});
});
});