如何使用 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_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
如何获取上传文件时输入的文件名?我在 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_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