如何使用 node.js 在 multer 中获取输入文件名

How to get input filename in multer with node.js

如何获取上传文件时输入的文件名?我在 node.js 上使用 multer,我想将文件名存储在 mysql 数据库中,但我不知道如何获取文件名。

var cpUpload = upload.fields([{ name: 'featured_img', maxCount: 1 }, { name: 'audio', maxCount: 1 }]);
app.post('/save', cpUpload, function (req, res, next) { 
    let data = {featured_img: req.files.featured_img, title: req.body.title, band_name: req.body.band_name, audio: req.files.audio};
    let sql = "INSERT INTO music SET ?";
    let query = connection.query(sql, data,(err, results) => {
      if(err) throw err;
      console.log(data);
      res.redirect('/');
    });
});

您错过了更深入的内容。因为 req.files.featured_imgobject 数据。您需要访问 属性 filename。还要考虑它在 ARRAY 中,因此您还需要访问 [0]audio

也一样

所以它会是这样的:

let data = {
             featured_img: req.files.featured_img[0].filename, 
             title: req.body.title, 
             band_name: req.body.band_name, 
             audio: req.files.audio[0].filename
            };

以防万一您还需要位置或 URL 路径,只需执行 req.files.featured_img[0].pathreq.files.audio[0].path