【发布时间】:2021-10-07 07:07:48
【问题描述】:
我有一个函数接受 List<File> 并通过将文件上传到 firebase 存储返回 Urls(List<String>) 列表。
文件正在上传到存储中,并且正在为单个上传生成 URL(使用打印语句检查)。
但是当我尝试将此 URL 添加到列表中并返回列表时,该函数始终返回一个空列表。 这是我的功能:
Future<List<String>> uploadImages(List<File> imageFiles) async {
List<String> imageUrlList = [];
imageFiles.forEach((File imageFile) async {
final ref = FirebaseStorage.instance
.ref('/tempImages')
.child('${DateTime.now().toString()}image.jpg');
await ref.putFile(imageFile);
final url = await ref.getDownloadURL();
print(url);
imageUrlList.insert(0, url);
});
print(imageUrlList);
return imageUrlList;
}
第二个打印语句甚至没有打印到调试控制台。 有人可以帮我吗?
【问题讨论】:
-
不是
list.add()吗? -
@sittsering
list.add(...)将添加到末尾,list.insert(0, ...)添加到前面。 -
@sittsering
list.add()不是问题所在。不处理异步/等待行为 -
好的,明白了
标签: firebase flutter dart google-cloud-firestore