我如何在 multer 中实现 if(!= req.file)?

How do i implement a if(!= req.file) in multer?

嗨,我对我的 multer 代码 recently.But 做了一些修改,当我尝试在 upload.single('name')(req, res, function (error) { in app.post 的 mutler 代码中包含一个 if(!req.file) 时为了确保至少有一个文件被上传,整个代码 failed.Can 有人帮我吗?谢谢!

我目前的js代码:

var multer = require('multer');
var storage = multer.diskStorage({
    destination: function (req, file, callback) {
        callback(null, './uploads');
    },
    filename: function (req, file, callback) {
        callback(null, path.basename(file.originalname));
    }
})

const upload = multer({
    dest: storage,
    storage: storage,
    limits: {
        fileSize: 1024 * 1024
    },
    fileFilter: function (req, file, callback, error) {
        var ext = path.extname(file.originalname);
        var error_msg = error instanceof multer.MulterError;
        if (ext !== '.jpg') {
            req.fileValidationError = "Not a jpg file!";
            return callback(null, false, req.fileValidationError);
        }
        if (error_msg) {
            return callback(null, false, new MulterError('LIMIT_FILE_SIZE'))
        }
        callback(null, true)
    }
});

app.post("/upload", function (req, res, next) {
    upload.single('name')(req, res, function (error) {
        if (req.fileValidationError) {
            res.status(500).send({ message: req.fileValidationError });
        }
        else {
            if (error) {
                res.status(500).send({ message: error.code === 'LIMIT_FILE_SIZE' ? "Image more than 1MB!" : error.message });
            }
            else {
                console.log('File Received!');
                console.log(req.file);
                var sql = "INSERT INTO `upload`(name,encoding,destination,path,type,size) VALUES('" + req.file.filename + "', '" + req.file.encoding + "', '" + req.file.destination + "', '" + req.file.path + "', '" + req.file.mimetype + "', '" + req.file.size + "')";
                db.query(sql, (error, results) => {
                    console.log('Inserted Data!');
                });
                const message = "Successfully Uploaded!"
                res.status(200).send({ message: message, file_details: req.file })
            }
        }
    })
}) ```

尝试使用

if(req && req.file) { ... }
reqreq.file 都不是 nullundefined.

时,

req && req.file 输出真值