react-native: firestore - Как получить имена папок из ссылки хранилища? - PullRequest
0 голосов
/ 05 августа 2020

Если мне нужно получить URL-адреса изображений из папок, я делаю следующее:

const ref = storage().ref('foldername');
ref
    .listAll()
    .then(function (result) {
      result.items.forEach(function (imageRef) {
        // And finally display them
        displayImage(imageRef);
      });
    })
    .catch(function (error) {
      console.log(error);
      // Handle any errors
    });

  function displayImage(imageRef) {
    imageRef
      .getDownloadURL()
      .then(function (url) {
        // TODO: Display the image on the UI

        console.log('urlurlurlurl', url);
      })
      .catch(function (error) {
        // Handle any errors
      });
  }

но мне нужно сначала получить список имен папок, чтобы их имена отображались в приложении.

например, моя корзина для хранения содержит 3 папки. каждая папка содержит 5 изображений.

Сначала мне нужно получить список этих 3 папок.

Я пытаюсь найти ответ здесь , но не могу его найти.

Спасибо

ОБНОВЛЕНИЕ: Вот мое ведро с 2 каталогами. в этих 2 каталогах есть файлы изображений введите описание изображения здесь

Мне нужно сначала получить эти имена каталогов, чтобы я мог показать их на экране. затем я буду получать файлы на основе выбора каталога клиентом.

1 Ответ

1 голос
/ 05 августа 2020

Прямо сейчас ваш код просматривает только файлы с заданным префиксом путем итерации result.items:

ref
    .listAll()
    .then(function (result) {
      result.items.forEach(function (imageRef) {
        // And finally display them
        displayImage(imageRef);
      });
    })

Если вы хотите узнать имена вложенных префиксов (то, что вы называете «папками») , вам также придется повторять result.prefixes. Документация React Native, похоже, не дает примера этого, но вы можете увидеть это в документах Firebase .

ref
    .listAll()
    .then(function (result) {
      result.items.forEach(function (imageRef) {
        // ...
      });
      result.prefixes.forEach(function (folderRef) {
        // ...
      });
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...