[需要许可时如何从FirebaseStorage中加载多个图像?

问题描述 投票:0回答:1

我想做的是将每个项目的列表显示为Card小部件。因此,每张卡片都将包含图片,标题,文本,按钮。类似于此:

enter image description here

步骤是:

1-使用StreamBuilder(完成)从Firebase-Store加载产品数据。

2-产品的缩略图URL从数据库加载,然后使用NetworkImage(完成)从Firebase-Storage加载图像。

3-我认为这是错误的加载图像的方法,因为在更改了预期的Firebase-Storage的安全规则后,该方法将不起作用。

我的新FirebaseStorage规则:allow read, write: if request.auth != null;

4-要解决此问题,我正在使用getData()

将图像加载到内存中
final FirebaseStorage storage = FirebaseStorage(
      app: Firestore.instance.app,
      storageBucket: 'gs://...'
);

  Uint8List imageBytes;
  String errorMsg;

SOME_CONSTRUCTOR() {
  storage
    .ref()
    .child(imageTitle)
    .getData(10000000)
    .then(..)..
}

然后从内存中加载图像:

Image.memory(imageBytes, fit: BoxFit.cover,)

这很好,但是,我正在寻找最佳实践,这是我的问题:

A-此(获取图像)代码应为load-from-db(streamBuilder的“流”的一部分)或更高版本的从db获取的数据创建卡片( streamBuilder的“生成器”)?

B-从db加载时是否有可能加载图像,假设db中的每个记录都有一个image(1-to-1),所以它将像这样:

fetch row-> download its image 

fetch row-> download its image 

THEN NEXT ROWs...

C-还是最好先加载项目然后构建卡,然后在用户可见卡之后加载图像?

D-还有其他建议可以帮助我解决这个问题吗?

firebase flutter dart firebase-storage firebase-security
1个回答
0
投票

您是否找到从Firebase加载多个图像的最佳方法是什么?

© www.soinside.com 2019 - 2024. All rights reserved.