如何在 multer 中访问我的请求块中的文件名

how to access to filename in my requst block in multer

我需要访问请求正文中的文件名,因为我想存储在我的数据库中,但我不知道如何处理,这是我的代码:

   var storage = multer.diskStorage({
        destination: function (req, file, callback) {
            var name = 'public/images/' + Math.floor((Math.random() * 10675712320) + 1);
            fs.mkdir(name, (err)=> {
                if (err) {
                    console.log(err);
                } else {
                    ** Im want pass name variable**  
                    callback(null, name);
                }
            });
        },
        filename: function (req, file, callback) {
            callback(null, file.originalname);
        }
    });
    var upload = multer({storage: storage}).single('userPhoto');

    app.post('/api/photo', function (req, res) {
        ***upload(req, res, function (data) {
            I need access to file name here because i want store in my db*** 
            console.log(data);

            res.end("File is uploaded");
        });
    });

我试过这种方法但没有用:

fs.mkdir(name, (err)=> {
                    if (err) {
                        console.log(err);
                    } else {
                        callback(name, name);
                    }
                });

您可以像这样从 req.file.path 访问 path :

var upload = multer({storage: storage}).single('userPhoto');

app.post('/api/photo', function (req, res) {
    upload(req, res, function (data) {
        console.log(req.file.path);
        res.end("File is uploaded");
    });
});