React native - Загрузка изображения: API Node Post не вызывается при получении - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь опубликовать выбранное пользователем изображение в 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" })
   });
 };

Когда запускается приведенный выше код, приложение не выдает ошибку, но, похоже, также не отправляет запрос на публикацию.

...