我有那个错误:图像:['图像必须是图像。'],当我将数据发送到 api 时。我该如何解决?

问题描述 投票:0回答:0

当我向 API 发送数据时,我收到错误图像:['图像必须是图像。']。怎么寄?

function saveFile() {
  while (imagePreview.firstChild) {
    imagePreview.removeChild(imagePreview.firstChild);
  }
  const files = fileInput.files;
  for (let i = 0; i < files.length; i++) {
    const file = files[i];
    let data = JSON.parse(localStorage.getItem("data")) || {};
    data.image = [];
    if (file.type.startsWith("image/")) {
      const img = document.createElement("img");
      img.classList.add("resume--photo");
      const reader = new FileReader();
      reader.onload = () => {
        img.src = reader.result;
        const fileInfo = {
          name: file.name,
          type: file.type,
          dataURL: reader.result,
        };
        data.image.push(fileInfo);

        localStorage.setItem("data", JSON.stringify(data));
      };
      reader.readAsDataURL(file);
      imagePreview.appendChild(img);
    }
  }
}

其余数据信息发送完毕,只有图片不发送

const formEl = document.querySelector(".form");
formEl.addEventListener("submit", function (e) {
  e.preventDefault();
  const data = generateFormData();
  fetch("https://resume.redberryinternship.ge/api/cvs", {
    method: "POST",
    headers: {
      Accept: "application/json",
      "Access-Control-Allow-Origin": "*",
      "Access-Control-Allow-Methods": "POST,PATCH,OPTIONS",
    },
    body: JSON.stringify(data),
  })
    .then((res) => res.json())
    .then((data) => console.log(data))
    .catch((error) => console.log(error));
  console.log(data);
});

这生成数据然后我发送

function generateFormData() {
  const form = document.getElementById("form");
  const formData = new FormData(form);
  const data = {
    experiences: [],
    educations: [],
  };
  for (let [key, value] of formData.entries()) {
    data[key] = value;
  }
  const storedData = JSON.parse(localStorage.getItem("data"));
  if (storedData) {
    Object.assign(data, storedData);
  }

  return data;
}

我尝试了不同的方法还是无法解决问题

javascript api post http-post form-data
© www.soinside.com 2019 - 2024. All rights reserved.