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);
}
});
});
});
});