Как получить префикс, PageToken, элементы, корзину и имя из FirebaseStorage в флаттере? - PullRequest
0 голосов
/ 25 апреля 2020

См. Код:

 final ref = FirebaseStorage.instance.ref().child('Posts');

 ref.listAll().then((result) {
      print("Hello: ${result}");

Итак, в моем FirebaseStorage я создал одну папку под названием «Посты» и внутри нее вручную загрузил несколько изображений. Теперь я каким-то образом обнаружил, как печатать все данные, которые находятся внутри папки Posts.

См. Вывод:

{prefixes: {}, pageToken: null, items: {header_of_grace_and_beauty_in_summer.jpg: {bucket: hello-465d1.appspot.com, path: /Posts/header_of_grace_and_beauty_in_summer.jpg, name: header_of_grace_and_beauty_in_summer.jpg}, header_of_style_statement_with_valvet.jpg: {bucket: hello-465d1.appspot.com, path: /Posts/header_of_style_statement_with_valvet.jpg, name: header_of_style_statement_with_valvet.jpg}, header_of_dazzling_monsoon.jpeg: {bucket: hello-465d1.appspot.com, path: /Posts/header_of_dazzling_monsoon.jpeg, name: header_of_dazzling_monsoon.jpeg},

Итак, как вы можете видеть, есть Prefix, PageToken, элементы , ведро и назови все. Я хочу name и getDownloadUrl из этого списка.

Как я могу это сделать?

По крайней мере, кто-то может просто дать ответ и напечатать эти вещи? Я пытался, но это просто не происходит.

РЕДАКТИРОВАТЬ:

 //Get 'Posts' stream
  Stream<List<PostData>> get posts {
    ref.listAll().then((value) {
      print('VAL: $value');
      return value;
    });
  }

Так что я могу получить доступ так:

final posts = Provider.of<List<PostData>>(context) ?? [];
    pri("VALUE:-> $posts");

1 Ответ

1 голос
/ 26 апреля 2020
initializing storage bucket
final FirebaseStorage storage =
      FirebaseStorage(storageBucket: 'Bucket Name');


List<String> image=new List();
var images= ref['items'].keys.toList();
for (var i in images){
   String filePath = 'post/i';
   StorageReference imgref = storage.ref().child(filePath);
   image.add(imgref.getDownloadURL());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...