简体   繁体   中英

Flutter / FireStore: how to display an image from Firestore in Flutter?

I want to put some images that I use in my app to Firestore, and display them from there, rather than having them as assets, bundled in my app.

In order to do this, I came up with the following solution: for the item I want to display an image, I created a Firebase document, where I have a field that stores the name of the file that stores the corresponding picture:

document
- name
- description
- imageName

Then, I uploaded an image to FireStore with the same name.

When I want to display the image, I can successfully get the document via StreamBuilder, and extract the imageName property.

I also created the necessary FireStore references:

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

However, I can't seem to pass it to an Image.network() widget.

Is it possible to display an image the way I'd like to, or should I use a different Image provider?

You need the .getDownloadURL() from the StorageReference imageLink to get the storage URL link:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM