Реагировать на загрузку снимка экрана на сервер PHP - PullRequest
0 голосов
/ 11 января 2019
  takeScreenShot() {

        this.refs.viewShot.capture().then(uri => {
        var details = {
            'id': '1',
            'name':'John Doe',
            'image':uri  };

//image uri = /private/var/mobile/Containers/Data/Application/FE…ctNative/249EB47D-DCEA-4C27-8174-0A7DCAA117CC.png


       var formBody = [];
       for (var property in details) {
         var encodedKey = encodeURIComponent(property);
         var encodedValue = encodeURIComponent(details[property]);
         formBody.push(encodedKey + "=" + encodedValue);
           }
      formBody = formBody.join("&");
      fetch(url, {
         method: 'POST',
         headers: {
            'Accept': 'application/json',
            'Content-Type': 'multipart/form-data',
         },
         body:formBody,
      }).then((response) => response.json())
          .then((responseJson) => {
          console.log(responseJson)
        }).catch(function (err) {
            return console.log(err)
        })
        });
    }

Я пытаюсь загрузить снятый снимок экрана на сервер с именем и идентификатором. Приведенный выше код принимает uri в качестве строки. Как изменить uri на формат, который я могу загрузить в каталог своего сервера? Спасибо

1 Ответ

0 голосов
/ 11 января 2019
RNFetchBlob.fetch('POST', url, {
    Authorization : "Bearer access-token",
    otherHeader : "foo",
    'Content-Type' : 'multipart/form-data',
  }, [
    { name : 'image', filename : 'avatar-foo.png', data: RNFetchBlob.wrap(uri)},
    { name : 'name', data : 'John Doe'},
    { name : 'id', data : '1'},
  ]).then((resp) => {
    console.log(resp)
  }).catch((err) => {
    console.log(err)
  })

Для получения дополнительной информации обратитесь к rn-fetch-blob

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...