Загрузить изображение на сервер Node.js на Froala WYSIWYG - PullRequest
0 голосов
/ 21 января 2019

Я создаю маршрут блога new, следующий за маршрутизацией покоя. Я хочу добавить редактор WYSIWYG для моего blog/new маршрута, и я нашел froala хорошим.

Я успешно загрузил изображение на свой сервер после выполнения этого руководства: https://www.froala.com/wysiwyg-editor/docs/server/nodejs/image-upload.

Когда я просматриваю свои каталоги. Он успешно сохранен в моей папке uploads . uploads directory inside public folder

Единственная проблема в том, что внутри редактора froala что-то пошло не так. Смотри картинку ниже something went wrong

Я думаю, это как-то связано с моим методом router.post?

    // Image POST handler.
router.post("/blog/", function (req, res) {
    upload_image(req, function(err, data) {

      if (err) {
        return res.status(404).end(JSON.stringify(err));
      }
   console.log(data)
      res.send(data);
    });
  });



//Create Route
router.post('/blog', middleware.isLoggedIn, middleware.isAdmin, (req, res)=> {
    //create blog
    req.body.blog.body = req.sanitize(req.body.blog.body);
    Blog.create(req.body.blog, (err, blogCreated) => {
        if(err){
              req.flash("error", err.message)
      return res.redirect('/blog/new');
        } else {
            blogCreated.author.id = req.user._id;
            blogCreated.author.username = req.user.username;
            blogCreated.save();

              //then redirect
            res.redirect('/blog')
        }
    })

})

Он отправляет данные на мой сервер node.js, но внутри редактора что-то не так.

Прошло 4 часа, и я не могу найти способ.

Я пытался сделать это так:

router.post('/blog', middleware.isLoggedIn, middleware.isAdmin, (req, res)=> {
    upload_image(req, function(err, data) {

        if (err) {
          return res.status(404).end(JSON.stringify(err));
        }
     console.log(data)
        res.send(data);
      });
    //create blog
    req.body.blog.body = req.sanitize(req.body.blog.body);
    Blog.create(req.body.blog, (err, blogCreated) => {
        if(err){
              req.flash("error", err.message)
      return res.redirect('/blog/new');
        } else {
            blogCreated.author.id = req.user._id;
            blogCreated.author.username = req.user.username;
            blogCreated.save();

              //then redirect
            res.redirect('/blog')
        }
    })

})

Но в консоли эта ошибка появляется POST http://localhost:3000/blog/ 500 (Internal Server Error), потому что, возможно, res.send мешает res.redirect ?. Теперь я теряюсь, глядя на свой код, возможно, я просто пропустил косую черту, запятую или что-то в этом роде.

Моя конечная цель - я могу загрузить изображения на свой сервер и использовать их в редакторе froala. и после того, как она заработает, сообщение об ошибке something went wrong, please try again исчезнет.

...