反应通过POST请求上传多张照片

时间:2019-06-07 11:53:30

标签: node.js reactjs mongoose

我正尝试将多张照片(其名称来自表单)发布到后端。 如果我只需要上传一张照片,它就可以很好地工作,但是它没有名称,也没有上传所有照片,只是第一张。

这是到目前为止的代码:

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记录了照片数组,则会得到此对象:

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

0 个答案:

没有答案