Flutter / FireStore:如何在Flutter中显示来自Firestore的图像?

时间:2018-06-13 11:41:15

标签: android google-cloud-firestore flutter

我想将我在我的应用中使用的一些图片放到Firestore中,然后从那里显示它们,而不是将它们作为资产捆绑在我的应用中。

为了做到这一点,我提出了以下解决方案:对于我要显示图像的项目,我创建了一个Firebase文档,其中我有一个字段,用于存储存储相应图片的文件的名称:

document
- name
- description
- imageName

然后,我将图像上传到FireStore,名称相同。

当我想显示图像时,我可以通过StreamBuilder成功获取文档,并提取imageName属性。

我还创建了必要的FireStore引用:

FirebaseStorage storage = new FirebaseStorage(
    storageBucket: 'gs://osszefogasaszanhuzokert.appspot.com/'
  );
StorageReference imageLink = storage.ref().child('giftShopItems').child(documentSnapshot['imageName']);

但是,我似乎无法将其传递给Image.network()小部件。

是否可以按照我喜欢的方式显示图像,或者我应该使用其他图片提供商?

1 个答案:

答案 0 :(得分:3)

您需要StorageReference .getDownloadURL()中的imageLink来获取存储网址链接:

final imageUrl = await imageLink.getDownloadUrl();
Image.network(imageUrl.toString());