如何使用Python从Firebase Storage文件夹中下载图片
从Firebase Storage下载图片的Python实现方案

前置准备
- 安装Firebase Admin SDK:执行命令
pip install firebase-admin - 前往Firebase控制台>项目设置>服务账户,下载服务账号JSON密钥文件,保存到本地
- 记录你的Firebase Storage存储桶地址,格式为
gs://<你的项目ID>.appspot.com,可在Storage页面顶部获取
完整实现代码
import firebase_admin from firebase_admin import credentials from firebase_admin import storage # 初始化SDK,替换为你自己的服务账号JSON文件路径 cred = credentials.Certificate("path/to/your/serviceAccountKey.json") firebase_admin.initialize_app(cred, { 'storageBucket': '<你的存储桶地址,去掉gs://前缀,比如xxx.appspot.com>' }) # 获取存储桶实例 bucket = storage.bucket() def download_image_from_firebase(remote_file_path, local_save_path): # 指定远程文件路径,对应Storage里的文件层级,比如assets/background.jpg blob = bucket.blob(remote_file_path) # 下载到本地路径 blob.download_to_filename(local_save_path) print(f"图片已成功下载到:{local_save_path}") # 调用示例,替换为你实际的远程文件路径和本地保存路径 download_image_from_firebase("your/folder/image.jpg", "./local_image.jpg")
常见场景补充
如果不需要保存到本地,要直接读取为字节流用于后续处理(比如用PIL打开、上传到其他服务等),可以用以下代码替换下载逻辑:
from io import BytesIO from PIL import Image blob = bucket.blob("your/folder/image.jpg") image_bytes = blob.download_as_bytes() image = Image.open(BytesIO(image_bytes)) # 后续可以直接对image对象进行操作
注意事项
- 确保服务账号拥有Storage的读取权限,默认服务账号自带权限,若提示权限不足可以在Google Cloud控制台给对应服务账号授予
Storage Object Viewer角色,或临时调整Storage规则允许读取测试 - 远程文件路径要和你截图里的存储层级完全一致,区分大小写
内容的提问来源于stack exchange,提问作者DDD
相关产品推荐
相关产品推荐

