如何使用 firebase admin sdk 删除 Firebase 存储中的文件

How to delete a file in Firebase Storage using firebase admin sdk

我正在开发一个 android 应用程序,这是一个使用 flask 和 firebase 的网络服务器。 当客户端应用程序上传图像文件时,网络服务器会在数据库中保存图像 url。

然后,客户端应用程序获取图像 url 并从 firebase 存储中打开图像。

所以我的网络服务器和应用程序不知道文件名。 但是,要删除存储中的文件, 需要知道文件的名称。 只有我能得到的是文件 url.

我的网络服务器如何使用文件 url 删除文件?

以下代码用于使用文件名删除文件。 我想将此代码更改为使用文件 url.

删除文件
bucket = storage.bucket('<BUCKET_NAME>')

def deleteFile(imageName):
    try:
        bucket.delete_blob('profile_images/' + imageName)
        bucket.delete()
        return True
    except Exception as e:
        print(e)
        return False

Firebase Admin SDK 中的存储客户端是 Node.js client for Google Cloud Storage 的精简包装器。据我所知,后者没有办法将下载 URL 映射回 File.

这意味着您必须使用 FirebaseStorage.getReferenceFromUrl() 从客户端找到路径,然后将该路径传递给您的网络服务器。这样 JavaScript 代码可以使用路径创建对 File.

的引用