Node.js 如何使用multer从表单中获取上传文件的路径
我有一个表单,可以获取图像和文本,将图像保存在uploads文件夹中,并使用mongoose将图像路径和文本保存在MongoDB数据库中 我的问题是如何获得上传的图像路径 我的代码:Node.js 如何使用multer从表单中获取上传文件的路径,node.js,mongodb,mongoose,pug,multer,Node.js,Mongodb,Mongoose,Pug,Multer,我有一个表单,可以获取图像和文本,将图像保存在uploads文件夹中,并使用mongoose将图像路径和文本保存在MongoDB数据库中 我的问题是如何获得上传的图像路径 我的代码: // the router var storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, 'uploads/') }, filename: function (req, file, cb)
// the router
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now() + '.jpg')
}
});
var upload = multer({ storage:storage });
router.post('/add', upload.single('image'),function (req, res, next) {
let image = new Image();
image.path = file.path;
image.text = req.body.text;
image.save(function (err) {
if (err) {throw err;}
else {
req.flash('success', 'File uploaded');
res.redirect('/media/add');
}
});
});
// the pug file
extends layout.pug
block css
block content
if user&&user.roles==admin
h1 add image to gallery
form(method='POST', action='/media/add', enctype="multipart/form-data")
.form-group
label Image path:
input.form-control(name='image', type='file')
.form-group
label Title:
input.form-control(name='text', type='text')
input.btn.btn-primary(type='submit', value='Add')
else
p not have accsess
您可以使用
req.file
获取刚刚上载的文件的数据,因此要访问文件的路径,您可以使用req.file.path