📜  Firebase在云存储中创建参考

📅  最后修改于: 2021-01-02 03:46:47             🧑  作者: Mango

在云存储中创建参考

当我们使用Firebase Cloud Storage时,所有文件都存储在Google Cloud Storage存储桶中。就像本地硬盘中的文件系统或Firebase Realtime数据库中的数据一样,文件以存储桶中的层次结构显示。

通过创建文件引用,我们的应用可以访问:

  • 上传或下载数据。
  • 获取或更新元数据。
  • 删除文件。

引用可以指向特定文件,也可以指向层次结构中的更高级别的节点。这些路径与Firebase实时数据库路径非常相似。唯一的区别是我们的文件数据存储在Google Cloud Storage中,而不是实时数据库中。

创建参考

该引用可以被视为指向云中文件的指针:

  • 轻巧,因此我们可以根据需要创建任意数量的对象。
  • 可重复用于多种操作。

引用是使用FirebaseStorage单例实例创建的,并将使用getReference()方法对其进行调用。

//Creating a storage reference from our app
var storageRef=storage.reference

创建子参考

我们可以创建对树中较低位置的引用。例如,通过在现有引用上使用getChild()方法来生成“ images / season.jpg”。

//Creating a child reference. The imagesRef will points to "images".
var imagesRef:StorageReference?=storageRef.child

子引用也将采用路径。现在,mountainRef指向“ images / mountain.jpg”,而imagesRef仍指向“ images”。

var mountainRef=storageRef.child("images/mountain.jpg")

在文件层次结构中向上导航

在我们的文件层次结构中,有两种浏览方法,即getParent()和getRoot()。 getParent()向上导航一层,而getRoot()一直导航到顶部。

父级允许我们将引用移动到父级节点,而imagesRef现在指向“ images”。

imagesRef=spaceRef.parent

根目录使我们可以一直返回到存储桶的顶部,并且rootRef现在指向根目录。

val rootRef = spaceRef.root

引用可以多次链接在一起,mountainRef指向“ images / mountain.jpg”。

val mountainRef = spaceRef.parent?.child("mountain.jpg")

如果nullRef为null,则root的父级为null

val nullRef = spaceRef.root.parent

检查参考

我们可以检查引用,以更好地理解它们指向的文件。 getPath(),getName()和getBucket()方法将获取文件的完整路径,名称和存储桶。参考路径是“ images / space.jpg”,它类似于文件名。

spaceRef.name

引用的存储桶是文件存储在其中的存储桶

spaceRef.bucket