You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pyrebase无法通过child函数下载Firebase Storage指定图片求助

问题:Pyrebase单独指定文件下载失败,遍历下载正常

使用Pyrebase从Firebase Storage下载指定文件guitarplay.jpg,程序无报错但未成功下载。已确认云端文件名、本地路径及文件名均正确,但问题依旧。通过list_files()遍历下载的方式可以成功获取所有文件,现需实现单独指定文件下载的功能。

失败的指定下载代码

import pyrebase

config = {
  'apiKey': "A*******Jju*****",
  'authDomain': "test1-6*****eapp.com",
  'databaseURL': "https://te**1************sia-southeast1.firebasedatabase.app",
  'projectId': "tes****5e",
  'storageBucket': "te**********m",
  'serviceAccount': "serviceAccountKey.json"
}

firebase_storage = pyrebase.initialize_app(config)
storage = firebase_storage.storage()

storage.child("guitarplay.jpg").download(path="C:/Users/subha/OneDrive/Documents/HSMS_obj" , filename="nouser.jpg")

可行的遍历下载代码

以下遍历下载的方式可成功获取文件,但需求是单独指定文件下载:

esp=storage.list_files()

for file in esp:
# if(file=='guitarplay.jpg'):
    print(file.name)
    file.download_to_filename('photo.jpg')

可能的原因及解决方法

  • 文件路径层级不符:检查Firebase Storage中guitarplay.jpg是否在根目录。如果文件在子目录下,child()需传入完整路径(如"subfolder/guitarplay.jpg"),可通过遍历代码中打印的file.name确认实际路径。
  • download方法参数问题:Pyrebase部分版本对path和filename参数解析存在问题,尝试将本地完整路径直接传入:
    storage.child("guitarplay.jpg").download("C:/Users/subha/OneDrive/Documents/HSMS_obj/nouser.jpg")
    
  • 权限配置问题:确认serviceAccountKey.json拥有Storage读取权限,同时检查Firebase Storage的访问规则是否允许服务账号读取该文件。
  • 文件名大小写问题:Firebase Storage文件名区分大小写,确保代码中指定的文件名与云端完全一致。

内容的提问来源于stack exchange,提问作者Subham Kanu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 23:11:01