检查req.files对象是否为空

时间:2018-04-26 07:55:50

标签: node.js express file-upload

我通过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是否为空。

提前致谢

3 个答案:

答案 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');