Загрузка мультимедиа WP REST API с помощью fetch ()

Я пытаюсь использовать fetch() для загрузки мультимедиа в WP Rest API с помощью JS (React Native).

Вот что я сделал до сих пор:

fetch('https://www.example.fr/wp-json/wp/v2/media', {
        method: 'post',
        headers: new Headers({
          'Content-Type': 'image/jpeg',
          'Authorization': 'Basic d3GtcmVzdC1sdfGktY2xpZW50Onefepbl9hdh90aWJldA==',
          'Content-Disposition': 'attachment; filename="user-'+userId+'.jpg"'
        }),                
        body: imageBase64Data
      })
      .then(function (response) {
        console.log(response);
      });

imageBase64Data устанавливается так:

let imageBase64Data = 'data:image/png;base64,'+ imageData;

и imageData - это react-native-image-picker response.data: https://github.com/react-community/react-native-image-picker#the-response-object

Вот моя проблема: носитель успешно создан на моем WP, но изображение пустое (нет данных, около 15B). Итак, я предполагаю, что что-то не так с данными, которые я отправляю в качестве тела моего запроса. Но я не знаю что.

Любые идеи?


person enguerranws    schedule 28.06.2017    source источник


Ответы (1)


Для записи, вот как я наконец столкнулся с этой проблемой, используя модуль react-native-fetch-blob:

 RNFetchBlob.fetch('post', 'https://www.example.fr/wp-json/wp/v2/media', 
      {                    
        'Content-Type': 'image/jpeg',
        'Authorization': 'Basic dqdsfqsdfpbl9hqsdfdsfWJldA==',
        'Content-Disposition': 'attachment; filename="user-'+userId+'.jpg"'
      }

    ,imageUri) // imageUri = RNFetchBlob.wrap(imageUri);
    .then(function (response) {
      console.log(response); // returns a 201 response with id of the attached media
    });    
person enguerranws    schedule 29.06.2017
comment
Я работаю с мобильным приложением прямо сейчас, и я пытаюсь отправить изображение base64 в конечную точку мультимедиа. Вы сделали что-то дополнительное в своем коде для декодирования изображения base64? - person ShabbyAbby; 09.01.2018
comment
Нет, все есть. - person enguerranws; 09.01.2018
comment
Понятно, я все равно попробую с настраиваемой конечной точкой. Я загрузил изображение и получил изображение нужного размера, но изображение не отображается. - person ShabbyAbby; 09.01.2018
comment
Я предполагаю, что это потому, что imageUri не является допустимым blob-файлом изображения. Задайте новый вопрос, чтобы узнать, что происходит. - person enguerranws; 09.01.2018