我将根据静态路由创建一个new
博客路由。我想为我的blog/new
路线添加一个所见即所得的编辑器,但发现froala是一个不错的选择。
遵循以下指南,我已成功将图像上传到服务器:https://www.froala.com/wysiwyg-editor/docs/server/nodejs/image-upload。
唯一的问题是,这说明froala编辑器内部出现了问题。参见下面的图片
我认为与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
将消失。