【问题标题】:create new folder inside firebase storage using Admin SDK/ Python使用 Admin SDK/Python 在 Firebase 存储中创建新文件夹
【发布时间】:2020-11-27 22:36:38
【问题描述】:

目前我可以使用 Python 使用 Admin SDK 将图像上传到 firebase 存储。

import firebase_admin
from firebase_admin import credentials
from firebase_admin import storage


cred = credentials.Certificate("certificate.json")
firebase_admin.initialize_app(cred, { 'storageBucket' : 'AppName-addc4.appspot.com'})


bucket = storage.bucket()
blob = bucket.blob('/imageName')
imagePath = "/Users/name/Desktop/IMG_1895.jpg"
blob.upload_from_filename(imagePath)

如果我上传图片,它会创建一个标准文件夹,里面有我的图片。

如何重命名此文件夹,如 myImages 而不是 /

【问题讨论】:

    标签: python firebase firebase-storage firebase-admin


    【解决方案1】:

    云存储实际上并没有像计算机文件系统一样工作的“文件夹”。每个对象都有一个唯一的路径,并且该路径包含的组件看起来 像由斜线分隔的文件夹,可以帮助您组织内容,但实际上不存在文件夹,并且您无法重命名它们。有效更改其中一个“文件夹”名称的方法是将其下的所有文件复制到具有所需名称的新路径中,当您看到的“文件夹”不再出现时,它将从视图中消失包含任何对象。

    另见:

    【讨论】:

    • 有没有办法创建一个新的“文件夹”而不是使用 python 重命名它?所以我的意思是我可以在 Firebase 存储中手动执行此操作。有没有办法以编程方式做到这一点?
    • 您无需执行任何操作即可创建文件夹。只需开始向它写入对象,它就会自动出现在控制台中。它不像普通文件系统中的“mkdir”那样工作。
    • 对不起,我看错了你的答案,我的英语不是很直接。现在我明白了:)
    【解决方案2】:

    在存储控制台中,除了“上传文件”按钮之外,还有一个“创建文件夹”选项。

    可以在bucket中创建文件夹,并在控制台上传文件。

    要使用管理 API 在存储桶中创建此类文件夹,请在文件引用之前添加文件夹。例如

    const blob = bucket.file('folder1/folder2/' + req.file.originalname);  
    

    【讨论】:

      猜你喜欢
      • 2020-11-21
      • 2021-04-05
      • 2019-08-02
      • 2016-10-06
      • 2018-01-28
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多