我目前正在将多个图像上传到Firebase并将downloadUrl
放入列表中。
_imageList.forEach((element) async {
final StorageReference _ref = FirebaseStorage.instance
.ref()
.child("Users/ads/");
StorageUploadTask uploadTask =
_ref.putFile(element as i.File);
await uploadTask.onComplete;
print("Images uploaded");
String image_links = await _ref.getDownloadURL();
_imageUrls.add(image_links);// _imageUrls is a List
});
现在我想将_imageUrls
分配到Firestore中。
Map<String, dynamic> ads = {
'adTitle': widget.title,
'adPrice': widget.price,
'adCategory': widget.dropdownValue,
'adCondition': this.newCondtionVal,
'adDesc': widget.desc,
'user_id': uID,
'imageUrls_List': _imageUrls,//Images goes hear
};
crudObj
.addData(ads)
.then((value) => {
showInSnackBar("dataAdded"),
})
.catchError((e) {
print(e);
});
但是问题是:
首先将数据上传到firestore的工作(图像上传尚未完成),所以现在firestore中的imageUrls_List
插槽为空。
是否可以将onComplete
添加到getDownloadURL()
函数中?
或
是否有其他选项可以在完成上传图像后运行 firestore上传?