【问题标题】:How do I download image from firebase storage folder with python?如何使用 python 从 firebase 存储文件夹下载图像?
【发布时间】:2021-12-28 02:05:15
【问题描述】:

我想从资源文件夹的firebase存储中下载图像

谁能教我怎么做?

我的英文不好请见谅

【问题讨论】:

    标签: python firebase firebase-storage


    【解决方案1】:

    此代码将帮助您下载 Firebase 中的任何图像,您会在本地文件夹中找到“img.png”

    credentials.json 应该在您运行此代码的同一文件夹中,您可以从 Firebase 中检索它,它特定于您的帐户

    就我而言,我的存储桶称为“aisparkdev-tinder.appspot.com”

    在生成 blob 变量时,字符串就是图片的路径。

    import urllib
    import firebase_admin
    from firebase_admin import credentials
    from firebase_admin import storage
    cred = credentials.Certificate("credentials.json")
    
        # Initialize the app with a service account, granting admin privileges
    appF = firebase_admin.initialize_app(cred, 
                                        {'storageBucket': 'aisparkdev-tinder.appspot.com',}, 
                                        name='storage')
    
    bucket = storage.bucket(app=appF)
    
    blob = bucket.blob("profileImages/"+profilePic+".jpg")
    urllib.request.urlretrieve(blob.generate_signed_url(datetime.timedelta(seconds=300), method='GET'), ".\\img.png")
    

    【讨论】:

    • 它第一次运行,但是当我运行第二次时它显示错误:ValueError:默认的 Firebase 应用程序已经存在。这意味着您多次调用 initialize_app() 而不提供应用程序名称作为第二个参数。在大多数情况下,您只需要调用一次 initialize_app()。但是,如果您确实要初始化多个应用程序,请将第二个参数传递给 initialize_app() 以给每个应用程序一个唯一的名称。
    • 我想获取文件夹中的所有图像,但我不知道填充名称我应该做什么
    • 所以如果你需要从不同的应用程序中检索,你可以创建不同的'appF'并将它们命名为'appSomething',但你也应该将[name='storage']修改为不同的东西,因为这会在运行时创建一个名为 storage 的新变量
    • 要在 firebase 的文件夹中查找文件,您可以使用 storage = firebase.storage() files = storage.list_files() 获取文件中的文件: print(storage.child(file.name).get_url (无))
    • 当我使用 storage = firebase.storage() files = storage.list_files() 我可以获取存储中的所有文件,但我只想获取一个名为 uploads 的文件夹并从 uploads 中下载,而不是存储中的所有文件
    猜你喜欢
    • 2019-11-25
    • 2022-06-13
    • 2017-05-18
    • 1970-01-01
    • 2017-10-08
    • 2016-12-28
    • 2020-11-06
    • 2023-03-25
    • 2022-01-03
    相关资源
    最近更新 更多