Kel*_*uza 9 firebase firebase-storage angularfire2 angular
我基本上是 Angularfire2 的新手,当用户按下删除按钮时,我试图从 Firebase 存储中删除一个文件夹。不幸的是,此类信息不在 Angularfire2文档中。
我基本上尝试使用下面的代码:
constructor(private afs: AngularFirestore, private storage: AngularFireStorage) {
this.clientsCollection = this.afs.collection('clients', ref => ref.orderBy('uid', 'asc'));;
}
deleteClient(client, callback){
this.storage.ref(client.uid).delete();
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,它抛出以下错误
FirebaseStorageError {code_: "storage/object-not-found", message_: "Firebase Storage: Object '3CqyNHrIwQ3sRlj83JKM' does not exist.", serverResponse_: "{? "error": {? "code": 404,? "message": "Not Found. Could not delete object"? }?}", name_: "FirebaseError"}
Run Code Online (Sandbox Code Playgroud)
我将每个客户的文档存储在一个文件夹中,该文件夹的名称与客户的uid相似。这实际上只是 Firebase 生成的 ID。当我尝试删除该文件夹时出现上述错误。请帮忙,我该怎么办?
Sid*_*era 16
我认为更好的方法是通过下载 URL 删除文件。为此,您可以简单地调用storage.refFromURL(url).delete()注入的AngularFireStorage依赖项的实例。
...
constructor(private storage: AngularFireStorage) { }
...
delete(downloadUrl) {
return this.storage.storage.refFromURL(downloadUrl).delete();
}
...
Run Code Online (Sandbox Code Playgroud)
即使文档中没有,您也可以使用正确的方法使用 AngularFireStorage 删除文件。我自己用的,你可以在源文件中查看。
看来您client.uid没有引用任何资源。
但即使是,你是说“当我尝试删除该文件夹时”,但根据这篇文章, 你无法删除文件夹,你将不得不保留文件列表。
| 归档时间: |
|
| 查看次数: |
5861 次 |
| 最近记录: |