【发布时间】:2022-01-02 22:35:23
【问题描述】:
如何使用 URL 作为参考来获取从 Firebase 存储中删除文件的按钮。该 URL 是使用 Firebase 存储 getDownloadUrl 方法从名为 "fileUrl" 的 Firestore 集合字段中检索的。 当我尝试删除时,我收到错误消息并且我的应用崩溃了。
代码:
onPressed: () async {
if (newsDataModel.get('fileUrl') != null) {
await FirebaseStorage.instance.refFromURL(newsDataModel.get('fileUrl')).delete();
} else {
return;
}
await newsDataModel.reference.delete().then((value) => Navigator.pop(context));
}
错误:
_AssertionError ('package:firebase_storage/src/firebase_storage.dart':
Failed assertion: line 112 pos 12: 'url.startsWith('gs://') || url.startsWith('http')':
'a url must start with 'gs://' or 'https://')
【问题讨论】:
-
读取网址似乎有问题。如果您在使用它之前
print(newsDataModel.get('fileUrl'))它会显示什么? -
您可以查看此链接 - stackoverflow.com/questions/54170250/…
标签: firebase flutter dart google-cloud-firestore firebase-storage