希望有人可以帮助我解决这个问题
我正在使用Node / Express / Mongo CRUD应用程序,其中每个帖子/文档都有一个图像。我正在使用multer和cloudinary上传图像。但是,我希望用户能够将多个图像上传到每个帖子。理想情况下,图像URL /路径和ID将存储在数据库中的数组中。
我已经尝试和研究了几个小时,但似乎无法使其工作,并且那里没有教程来说明如何使用multer和cloudinary来实现此(简单)任务。
这是我用来为每个帖子上传一张图片的代码,该代码有效:
// CREATE Route - add new post to DB
router.post("/", middleware.isLoggedIn, upload.single('image'), function(req, res) {
cloudinary.v2.uploader.upload(req.file.path, function(err, result) {
if(err) {
req.flash('error', err.message);
return res.redirect('back');
};
// add cloudinary url for the image to the post object under image property
req.body.post.image = result.secure_url;
// add image's public_id to post object
req.body.post.imageId = result.public_id;
// add author to post
req.body.post.author = {
id: req.user._id,
username: req.user.username
}
Post.create(req.body.post, function(err, post) {
if (err) {
req.flash('error', err.message);
return res.redirect('back');
}
res.redirect('/posts/' + post.id);
});
});
});
我将如何更改此代码以实现此目标? 预先感谢您的帮助!
答案 0 :(得分:0)
上传API当前一次仅支持单个文件上传,它确实具有很高的并发率(大约40-50个并发调用),因此您可以使用多线程一次上传多个文件。
您还可以使用异步调用,并通过添加async
参数并将其设置为true
来告诉Cloudinary在后台执行上传。