我使用的是sails 0.10.5,它使用skipper进行文件上传。现在我有了一个表单,用户可以在其中上传文件。但是,文件上传不是强制的。在后台,我需要检查是否上传了文件。
我的代码是这样的:
if(req.file('img')){
req.file('img').upload({
maxBytes: 10000000
}, function (err, uploadedFiles){
if(err){
return res.json(500, err);
}
else if(uploadedFiles.length === 0){
return res.json(500, {"error": "no file uploaded"});
}
else{
// do something with image
}
});
}
else {
// proceed without image
}当没有上传图片时,我得到了以下错误:
Error: EMAXBUFFER: An Upstream (`NOOP_img`) timed out before it was plugged into a receiver. It was still unused after waiting 4500ms. You can configure this timeout by changing the `maxTimeToBuffer` option.
at null.<anonymous> (/home/mandeep/projects/thirstt/node_modules/sails/node_modules/skipper/standalone/Upstream/Upstream.js:86:15)
at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)第一个if条件的计算结果总是为true。如何检查用户是否未上传任何文件?
发布于 2015-03-27 16:32:40
将代码更改为
req.file('img').upload({
maxBytes: 10000000
}, function (err, uploadedFiles){
if(err){
return res.json(500, err);
}
else if(uploadedFiles.length === 0){
// proceed without files
}
else{
// handle uploaded file
}
});现在它工作得很好
https://stackoverflow.com/questions/29296136
复制相似问题