【发布时间】:2022-01-14 16:10:29
【问题描述】:
我刚刚开始使用 Flutter,但我被困在了一个点上。下面是我的功能的一部分,它首先将提供的图片上传到 firebase 存储,然后获取它们的可下载 URL 并将它们存储在字符串列表中。它应该使用从命令list.add(imageUrl); 获得的 URL 列表将数据上传到 Firestore
List<String> list = [];
imgList.forEach((element) async {
final String filePath = element.path;
final res =
filePath.substring(filePath.lastIndexOf('im'), filePath.length);
final ref = FirebaseStorage.instance.ref().child('images').child(res);
await ref.putFile(File(element.path));
final imageUrl = await ref.getDownloadURL();
list.add(imageUrl);
});
final doc = FirebaseFirestore.instance.collection('cars').doc();
但它不会发生,因为在填充 list 之前调用了以下行,因为等待。
await doc.set({
'id': doc,
'img': list,
'price': 14450,
'make': 'Toyota',
'year': 2015`
});
【问题讨论】:
标签: flutter asynchronous google-cloud-firestore