📅  最后修改于: 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