Облачное хранилище Google на React Native - PullRequest
1 голос
/ 07 мая 2020

У меня есть проект, в котором нужно хранить фотографии профиля в облачном хранилище Google. Я получил подписанный URL-адрес из нашего API и загружаю изображение с помощью:

const xhr = new XMLHttpRequest();
xhr.open("PUT", signedURL, true);
xhr.onload = () => {
  const status = xhr.status;
  if (status === 200) {
    console.log("ok");
  } else {
    console.log("Something went wrong!", status);
  }
};

xhr.onerror = () => {
  console.log("......Something went wrong!")
};
xhr.setRequestHeader('Content-Type', "application/octet-stream");

const fileBuffer = base64.toByteArray(data)
xhr.send(fileBuffer);

Для рендеринга изображения в React Native я использую таким образом:

<Image source={{uri: 'https://storage.googleapis.com/mybucketname/myfile.jpg'}} />,

Я изменил сегмент на Publi c Access (добавить элемент allUsers в средство просмотра объектов хранилища).

Результат: на панели управления enter image description here Я нажимаю Public to internet и Link URL, они возвращают два разных изображения, причем Public to internet всегда является первым изображением, а Link URL всегда является последним загруженным. Есть идеи, как это исправить или как правильно показывать изображение?

Кроме того, мне также нужно загружать и просматривать видео и документы, возможно ли их рендеринг на react native, даже если в ведре есть быть частным?

...