为什么打字稿会导致这个错误,即使它在javascript中工作

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

打字稿


import apiClient from "./client";

interface PostFormValues {
  title: string;
  recipeSteps: string[];
  images: { uri: File }[];
}

const postRecipe = async (data: PostFormValues) => {
  const formData = new FormData();

  formData.append("title", data.title);
  data.recipeSteps.forEach((step, index) => {
    formData.append(`steps`, step);
  });

  data.images.forEach((image, index) => {
    formData.append("images", {
      name: "image.jpg",
      uri: image.uri,
      type: "image/jpg",
    });
  });

  const endpoint = "/post_ingredients/";

  console.log("Sent");
  return apiClient.post(endpoint, formData, {
    headers: {
      "Content-Type": "multipart/form-data",
    },
  });
};

export { postRecipe }

Error LocationError

我发现这是将我的图像上传到后端的唯一方法。我尝试创建文件类型和 blob,但这些不起作用。任何指导都会有所帮助。

javascript typescript forms api multipartform-data
1个回答
0
投票
 data.images.forEach((image, index) => {
    const blob: object = {
      name: "image.jpg",
      uri: image.uri,
      type: "image/jpg",
    };
    formData.append("images", blob as Blob);
  });
© www.soinside.com 2019 - 2024. All rights reserved.