我正在开发一个Android应用程序,一个使用flask和firebase的网络服务器。 当客户端应用上传图像文件时,网络服务器会将图像网址保存在数据库中。
然后,客户端应用获取图像URL并从Firebase存储中打开图像。
所以我的Web服务器和应用程序不知道文件名。 但是,要删除存储中的文件, 需要知道文件的名称。 我只能得到的是文件网址。
我的Web服务器如何使用文件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
答案 0 :(得分:0)
Firebase Admin SDK中的Storage客户端是Node.js client for Google Cloud Storage的薄包装。据我所知,后者没有办法将下载URL映射回File
。
这意味着您必须使用FirebaseStorage.getReferenceFromUrl()
找到来自客户端的路径,然后将该路径传递到Web服务器。这样,JavaScript代码可以使用该路径创建对File
的引用。