我正尝试将多张照片(其名称来自表单)发布到后端。 如果我只需要上传一张照片,它就可以很好地工作,但是它没有名称,也没有上传所有照片,只是第一张。
这是到目前为止的代码:
async function handleUpload() {
console.log("Upload pressed!");
console.log(photos);
let formData = new FormData();
formData.append("image", photos.files);
if (photos.length >= 1) {
try {
await fetch("/api/uploadPhoto", {
method: "POST",
data: formData
});
setPhotos([]);
} catch (err) {
console.log(err);
}
}
}
如果我用console.log记录了照片数组,则会得到此对象:
我尝试映射photos
中每个元素的格式数据,以尝试使用属性name
并将两张照片都保存到我的后端(节点+猫鼬),但是我没有成功。 / p>
在这种情况下,哪种方法更好?
为了精确起见,我还在后端附加了我的路线:
router.post("/uploadPhoto", async (req, res) => {
try {
let image = new UploadPhoto({ img: req.body });
image.img.contentType = "image/png";
image.save();
res.sendStatus(200);
} catch (err) {
res.json({ message: err });
}
});