async/await和图像上传



如果提供了图片,我想创建一个帖子并上传。

如果我确实上传了图像,一切都很好,但如果我不上传,我会收到这个错误:

UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'image' of null

我知道这与async/await有关,但我不知道如何重写它,或者问题具体是什么?

app.post("/posts/create", async (req, res) => {
let image = req.files.image; 
if (image !== null) {
image.mv(
path.resolve(__dirname, "public/images", image.name) 
);
}
await Post.create(req.body);
res.redirect("/");
});

这不是因为async/await,这只是因为你的请求中没有任何.文件,所以你只需要一个中间件来处理多部分/表单数据,比如multer,然后通过app.post传递中间件,这样你就可以访问req.files,如果你想把图像上传到cloudinary这样的服务器,你可以使用multercloudinary存储。

最新更新