Как получить входное имя файла в Multer с node.js - PullRequest
0 голосов
/ 07 августа 2020

Как мы можем получить имя файла, которое мы вводим при загрузке файлов? Я использую multer на node.js, и я хочу сохранить имя файла в mysql db, но я не могу понять, как получить имя файла.

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('/');
    });
});

enter image description here введите описание изображения здесь

1 Ответ

2 голосов
/ 07 августа 2020

Вы пропустили go на пару уровней глубже. Поскольку req.files.featured_img - это данные object. вам необходимо получить доступ к собственности 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].path и req.files.audio[0].path

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...