Итак, я пытаюсь загрузить фотографии через облачный сервис и вставить URL-адрес фотографии в мою таблицу в моей базе данных, чтобы они сохранялись на странице. Мой маршрут настроен таким образом, и он не приводит к сбою моего сервера, но он не вставляется в мою таблицу. Есть идеи? Это синтаксическая ошибка или я не говорю о правильных путях?

app.post('/', isLoggedIn, uploads.single('inputFile'), (req, res) => {
  console.log('On POST route');
  // get an input from user
  let file = req.file.path;
  console.log(file);
  cloudinary.uploader.upload(file, (result) => {
    console.log(result);
    db.post.create({
          caption: req.body.title,
          image_url: result.url,
          user_id: req.body.user
        })
    // Render result page with image
    res.render('profile', { image: result.url });
  })
})
0
biscuit 4 Дек 2020 в 20:31

1 ответ

Лучший ответ

db.post.create является асинхронным, и если вы хотите вызвать res.render только после того, как запись была вставлена, используйте then следующим образом:

db.post.create({
  caption: req.body.title,
  image_url: result.url,
  user_id: req.body.user
}).then((post) => res.render('profile', { image: result.url }));
0
Anatoly 4 Дек 2020 в 20:07