1
OVERVIEW:我正在使用Amazon S3让用户上传图片。我一直在编辑路线,以便用户可以在上载图片后编辑图片。我正在通过PUT路由来完成此操作。这是我目前的解决方案。它可以覆盖当前的图像。Amazon S3 - 编辑上传的图片
问题:如果用户选择零新图像,它会用空白文件路径覆盖旧图像。也就是编辑后没有图像显示。如果用户只尝试编辑一个图像,则会发生同样的情况,即一个图像将更新,但其他图像将被空白文件路径覆盖,因此不会显示图像。
问题:让用户使用Amazon S3和Multer-S3编辑图像的正确方法是什么?
感谢您的帮助! :)
app.put("/:id", function(req, res){
upload(req,res,function(err) {
if(err) {
console.log(err);
res.redirect('/')
}
var filepath = undefined;
var filepath2 = undefined;
var filepath3 = undefined;
if(req.files[0]) {
filepath = req.files[0].key;
}
if(req.files[1]) {
filepath2 = req.files[1].key;
}
if(req.files[2]) {
filepath3 = req.files[2].key;
}
var image = filepath;
var image2 = filepath2;
var image3 = filepath3;
var newData = {image: image, image2: image2, image3: image3}
Rental.findByIdAndUpdate(req.params.id, {$set: newData},
function(err, rentals){
if(err){
req.flash("error", err.message);
res.redirect("back");
} else {
req.flash("success","Successfully Updated!");
res.redirect("/rentals/" + rental._id);
}
});
});
});
});