打字稿
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 }
我发现这是将我的图像上传到后端的唯一方法。我尝试创建文件类型和 blob,但这些不起作用。任何指导都会有所帮助。
data.images.forEach((image, index) => {
const blob: object = {
name: "image.jpg",
uri: image.uri,
type: "image/jpg",
};
formData.append("images", blob as Blob);
});