通过引用我的 Firestore 数据库中的图像路径列表来显示我存储在 Firebase 存储中的图像
Display out my images stored in Firebase Storage by referring to the lists of image paths in my Firestore Database
因此,我有此文档,其中包含其文件已存储在 Firebase 存储中的图像路径列表。所以我的问题是,如何使用 future builder 加载所有图像。
我曾尝试使用此方法及其工作方式显示单个文件,但我无法连接使用 Future Builder 显示所有文件的方式。
FutureBuilder(
future: storage.downloadURL(annData.imagePath),
builder: (BuildContext context,
AsyncSnapshot<String> snapshot) {
if(snapshot.connectionState == ConnectionState.done && snapshot.hasData)
{
return Container(
width: 200,
height: 200,
child: InteractiveViewer(
child: AspectRatio(
aspectRatio: 1,
child: ClipRRect(
child: Image.network(
snapshot.data!,
fit: BoxFit.contain,
),
),
),
),
);
}
if(snapshot.connectionState == ConnectionState.waiting)
{
return Loading();
}
return Container();
},
),
这是我的 downloadURL 方法
Future<String> downloadURL(String imagePath) async {
String downloadURL = await FirebaseStorage.instance.ref('test/$imagePath').getDownloadURL();
return downloadURL;
}
我在数据库中的 imagePath 是一个列表。
正如@Frank van Puffelen 所建议的那样,如果您有一组图像路径,您将希望遍历这些路径并为每个路径生成一个单独的 FutureBuilder。
因此,我有此文档,其中包含其文件已存储在 Firebase 存储中的图像路径列表。所以我的问题是,如何使用 future builder 加载所有图像。
我曾尝试使用此方法及其工作方式显示单个文件,但我无法连接使用 Future Builder 显示所有文件的方式。
FutureBuilder(
future: storage.downloadURL(annData.imagePath),
builder: (BuildContext context,
AsyncSnapshot<String> snapshot) {
if(snapshot.connectionState == ConnectionState.done && snapshot.hasData)
{
return Container(
width: 200,
height: 200,
child: InteractiveViewer(
child: AspectRatio(
aspectRatio: 1,
child: ClipRRect(
child: Image.network(
snapshot.data!,
fit: BoxFit.contain,
),
),
),
),
);
}
if(snapshot.connectionState == ConnectionState.waiting)
{
return Loading();
}
return Container();
},
),
这是我的 downloadURL 方法
Future<String> downloadURL(String imagePath) async {
String downloadURL = await FirebaseStorage.instance.ref('test/$imagePath').getDownloadURL();
return downloadURL;
}
我在数据库中的 imagePath 是一个列表。
正如@Frank van Puffelen 所建议的那样,如果您有一组图像路径,您将希望遍历这些路径并为每个路径生成一个单独的 FutureBuilder。