Я использую Multer для загрузки изображений. Я могу загрузить их в свою базу данных с расширением. Все выглядит идеально, но я не вижу их на своей странице.
Также обратите внимание, что моему проекту необходимо указать c изображения для каждой статьи, что означает изменение изображений в каждой статье.
Это моя статья. js соответствующие коды:
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'public/uploads')
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
})
const upload = multer({storage: storage})
// Add Submit POST Route
router.post('/add',upload.single('img'), function(req, res){
req.checkBody('title','Title is required').notEmpty();
//req.checkBody('author','Author is required').notEmpty();
req.checkBody('body','Body is required').notEmpty();
// Get Errors
let errors = req.validationErrors();
if(errors){
res.render('add_article', {
title:'Add Article',
errors:errors
});
} else {
var article = new Article({
title: req.body.title,
author: req.user._id,
img: `uploads/${req.file.filename}`,
body: req.body.body,
});
article.save(function(err){
if(err){
console.log(err);
return;
} else {
res.render('add_article', {
});
}
});
}
});
И:
// Get Single Article
router.get('/:id', function(req, res){
Article.findById(req.params.id, function(err, article){
//User.findById(article.author, function(err, user){
res.render('article', {
article:article,
//imagePath: article.img,
//author: user.name
});
});
});
Это моя статья. Мопс: расширяет макет
block content
br
//h5 Written by #{author}
h1= article.title
p= article.body
img.img-responsive(src=article.img)
Тоже не забыл enctype или файлы для загрузки на моей странице add_article.pug. Но все же я не могу понять, почему он не загружается.
Это мой console.log (article.img): uploads/image.jpeg
Но все равно я не могу понять, почему я их не вижу. Мы будем благодарны за каждый ответ.