Я работаю над функцией, где есть страница, запрашивающая у пользователя изображение профиля и некоторую информацию. до сих пор это то, что у меня есть
router.post('/edit/:id', async function(req, res) {
let user
const id = req.params.id
try{
user = await User.findById(id)
user.firstname= req.user.firstname,
user.lastname= req.user.lastname,
user.religion= req.user.religion,
user.education= req.user.education,
user.language= req.user.language,
user.lookingfor=req.body.lookingfor,
user.preferEdu=req.user.preferEdu,
user.preferReligion= req.user.preferReligion,
user.bio= req.user.bio
if (req.file != null && req.file !== '') {
await upload(req, res, (err) => {
if(err){
console.log(err)
} else {
if(req.file == undefined){
console.log('no file')
} else {
console.log(req.file)
User.findByIdAndUpdate({_id: id}, {$set: {
imageurl: req.file.location
}}, {new: true}, (err, result) => {
res.redirect('/dashboard')
})
}
}
})
}
} catch{
if (user != null) {
console.log ('no user')
} else {
res.redirect('/dashboard')
}
}
})
страница просто возвращается к '/ dashboard' без сохранения чего-либо
, прежде чем у меня будет функция, которая просто обрабатывает загружаемые изображения, и это было успешно
router.post('/edit/:id', function(req, res) {
const id = req.params.id
upload(req, res, (err) => {
if(err){
console.log(err)
} else {
if(req.file == undefined){
console.log('no file')
} else {
console.log(req.file)
User.findByIdAndUpdate({_id: id}, {$set: {
imageurl: req.file.location
}}, {new: true}, (err, result) => {
res.redirect('/dashboard')
})
}
}
});
});
Я вижу, что изображение было загружено на amazon s3, а req.file.location был зарегистрирован в консоли. но он не был сохранен в моей базе данных mon go. любая помощь будет оценена по достоинству! спасибо