我通过express-fileupload上传文件。如果我没有检查req.files为空,我的文件会成功上传。但是当我要检查req.files为空时,我收到一个错误。我将我的代码作为参考发布。
if(req.files.length > 0){
console.log('file is exist');
var file_name = req.files.filetoupload;
file_name.mv("public/uploads/"+ file_name.name, function(err){
if(err){
console.log(err);
var profile_pic_name = '';
} else {
var profile_pic_name = file_name.name;
}
});
}
else
{
console.log('file not exist');
var profile_pic_name = '';
}
因此,当我尝试上传文件时,它会进入else部分并在控制台上打印“文件不存在”。所以我主要关心的是如何检查req.files是否为空。
提前致谢
答案 0 :(得分:0)
抱歉,我不知道我是否理解你的问题。
尝试类似的东西:
req.files && req.files.length
我希望这有帮助,如果这不符合您的需要,请告诉我
答案 1 :(得分:0)
您可以执行类似的操作,并确定文件是否存在。
if (!req.files) {
// File does not exist.
console.log("No file");
} else {
// File exists.
console.log("File exists");
}
答案 2 :(得分:0)
您可以使用条件三元运算符轻松实现这一目标。
例如,如果存在 req.files ,下面的示例代码将显示“非空文件”;如果 req.files 为空,则显示“空文件”。
req.files ? console.log('Non Empty File') : console.log('Empty file');