const sendRequest = async () => {
try {
setIsLoading(true);
const formData = new FormData();
formData.append("description", description);
formData.append("quantity", quantity);
formData.append("pickup_date", date.toISOString());
formData.append("pickup_time", time.toISOString());
formData.append("address", location);
formData.append("phone", phoneNumber);
for (let i = 0; i < images.length; i++) {
const image = images[i];
if (image) {
const response = await fetch(image.uri);
const blob = await response.blob();
formData.append(`image_${i + 1}`, blob, `image_${i + 1}.jpg`);
}
}
const response = await axios.post(API.postOrder, formData, {
headers: {
Authorization: `Bearer ${process.env.EXPO_PUBLIC_API_TOKEN}`,
Accept: "application/json",
"Content-Type": "multipart/form-data",
},
});
if (response?.data?.status === "success") {
toggleModal();
}
} catch (error) {
console.error("Failed to send request:", error);
} finally {
setIsLoading(false);
}
};
Here is my code. It is working on Expo Web but not working on Expo Android.
If I comment on the for loop part where I am appending the image blob. It works on Android too.