如何使用 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
.
的引用
我正在开发一个 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
.