Я пытаюсь опубликовать выбранное пользователем изображение в API узла js, используя fetch. Но по какой-то причине метод API post не вызывается, в то время как тот же метод работает с Postman.
Это происходит при запуске решения в приложении Expo. Чтобы исключить возможность того, что локальный хост является виновником, используйте ngrok https url для публикации запроса.
Кроме того, попытался установить для типа содержимого значение undefined / null / multipart / form-data, но, похоже, ничто не помогает при вызове Post API.
const createFormData = (photo, body) =>
{
const data = new FormData();
data.append("photo", {
name: photo.fileName,
type: photo.type,
uri:
Platform.OS === "android" ?
photo.uri
: photo.uri.replace("file://", "")
});
Object.keys(body).forEach(key => {
data.append(key, body[key]);
});
return data;
};
handleUploadPhoto = () => {
fetch("http://ngrok:3000/api/upload",
{
method: "POST",
headers: { "Content-Type" :
"multipart/form-data",
"Accept":
"application/json"},
body:
createFormData(this.state.photo,
{ userId: "123" })
});
};
Когда запускается приведенный выше код, приложение не выдает ошибку, но, похоже, также не отправляет запрос на публикацию.