Dosyalarınız şurada depolanır: Cloud Storage paketi. İlgili içeriği oluşturmak için kullanılan bu paketteki dosyalar tıpkı sizin gibi hiyerarşik bir yapıda sunulur yerel sabit diskinizdeki dosya sistemini veya Firebase Realtime Database içindeki verileri görebilirsiniz. Bir dosyaya referans oluşturduğunuzda uygulamanız ilgili dosyaya erişim kazanır. Bu referanslar Veri yüklemek veya indirmek, meta verileri almak ya da güncellemek ya da verileri silmek için kullanılabilir. seçin. Referans, belirli bir dosyaya veya daha üst bir düzeye işaret edebilir düğümünü aratın.
Firebase Realtime Database kullandıysanız bu yollar size tanıdık gelebilir. Ancak dosya verileriniz şurada saklanır: Cloud Storage, Realtime Database içinde değil.
Referans Oluşturma
Dosya yüklemek, indirmek veya silmek için referans oluşturma, veya meta verilerini almak ya da güncellemek için kullanılır. Referans , buluttaki bir dosyaya işaret eden bir işaret olarak düşünülebilir. Referanslar: hafif, böylece ihtiyacınız olduğu kadar oluşturabilirsiniz. Bunlar ayrıca yeniden kullanılabilir birden fazla işlem yapabilirsiniz.
Referanslar, FirebaseStorage
hizmeti kullanılarak oluşturulur ve çağrıyı çağırır.
reference
yöntemini çağırın.
Swift
// Get a reference to the storage service using the default Firebase App let storage = Storage.storage() // Create a storage reference from our storage service let storageRef = storage.reference()
Objective-C
// Get a reference to the storage service using the default Firebase App FIRStorage *storage = [FIRStorage storage]; // Create a storage reference from our storage service FIRStorageReference *storageRef = [storage reference];
Ağaçta daha aşağıda bir konum için referans oluşturabilirsiniz.
Örneğin, mevcut bir referansta child
yöntemini kullanarak 'images/space.jpg'
deyin.
Swift
// Create a child reference // imagesRef now points to "images" let imagesRef = storageRef.child("images") // Child references can also take paths delimited by '/' // spaceRef now points to "images/space.jpg" // imagesRef still points to "images" var spaceRef = storageRef.child("images/space.jpg") // This is equivalent to creating the full reference let storagePath = "\(your_firebase_storage_bucket)/images/space.jpg" spaceRef = storage.reference(forURL: storagePath)
Objective-C
// Create a child reference // imagesRef now points to "images" FIRStorageReference *imagesRef = [storageRef child:@"images"]; // Child references can also take paths delimited by '/' // spaceRef now points to "images/space.jpg" // imagesRef still points to "images" FIRStorageReference *spaceRef = [storageRef child:@"images/space.jpg"]; // This is equivalent to creating the full reference spaceRef = [storage referenceForURL:@"gs://<your-firebase-storage-bucket>/images/space.jpg"];
Referanslarla Gezinme
Şunlarda yukarı gitmek için parent
ve root
yöntemlerini de kullanabilirsiniz:
sağlayabilirsiniz. parent
bir seviye yukarı gider,
root
da en başa gider.
Swift
// Parent allows us to move to the parent of a reference // imagesRef now points to 'images' let imagesRef = spaceRef.parent() // Root allows us to move all the way back to the top of our bucket // rootRef now points to the root let rootRef = spaceRef.root()
Objective-C
// Parent allows us to move to the parent of a reference // imagesRef now points to 'images' imagesRef = [spaceRef parent]; // Root allows us to move all the way back to the top of our bucket // rootRef now points to the root FIRStorageReference *rootRef = [spaceRef root];
child
, parent
ve root
, aşağıdaki gibi birden çok kez zincirlenebilir:
her biri bir başvuru döndürür. Bunun istisnası, root
metriğinin parent
.
şu anda nil
.
Swift
// References can be chained together multiple times // earthRef points to "images/earth.jpg" let earthRef = spaceRef.parent()?.child("earth.jpg") // nilRef is nil, since the parent of root is nil let nilRef = spaceRef.root().parent()
Objective-C
// References can be chained together multiple times // earthRef points to "images/earth.jpg" FIRStorageReference *earthRef = [[spaceRef parent] child:@"earth.jpg"]; // nilRef is nil, since the parent of root is nil FIRStorageReference *nilRef = [[spaceRef root] parent];
Referans Özellikleri
İşaret ettikleri dosyaları daha iyi anlamak için referansları inceleyebilirsiniz.
(fullPath
, name
ve bucket
özellikleri kullanılarak) Bu mülkler
dosyanın tam yolunu, adını ve paketini alır.
Swift
// Reference's path is: "images/space.jpg" // This is analogous to a file path on disk spaceRef.fullPath // Reference's name is the last segment of the full path: "space.jpg" // This is analogous to the file name spaceRef.name // Reference's bucket is the name of the storage bucket where files are stored spaceRef.bucket
Objective-C
// Reference's path is: "images/space.jpg" // This is analogous to a file path on disk spaceRef.fullPath; // Reference's name is the last segment of the full path: "space.jpg" // This is analogous to the file name spaceRef.name; // Reference's bucket is the name of the storage bucket where files are stored spaceRef.bucket;
Referanslarla ilgili Sınırlamalar
Referans yolları ve adları, geçerli Unicode karakterlerinden oluşan herhangi bir diziyi içerebilir. ancak aşağıdakileri de içeren belirli kısıtlamalar uygulanır:
- UTF-8 olarak kodlandığında referans.fullPath toplam uzunluğu 1 ile 1.024 bayt arasında olmalıdır.
- Satır Başı veya Satır Feed'i karakterleri yok.
#
,[
,]
,*
veya?
ile iyi sonuç vermediğinden bunları kullanmaktan kaçının. Firebase Realtime Database ve diğer araçlar veya gsutil.
Tam Örnek
Swift
// Points to the root reference let storageRef = Storage.storage().reference() // Points to "images" let imagesRef = storageRef.child("images") // Points to "images/space.jpg" // Note that you can use variables to create child values let fileName = "space.jpg" let spaceRef = imagesRef.child(fileName) // File path is "images/space.jpg" let path = spaceRef.fullPath // File name is "space.jpg" let name = spaceRef.name // Points to "images" let images = spaceRef.parent()
Objective-C
// Points to the root reference FIRStorageReference *storageRef = [[FIRStorage storage] reference]; // Points to "images" FIRStorageReference *imagesRef = [storageRef child:@"images"]; // Points to "images/space.jpg" // Note that you can use variables to create child values NSString *fileName = @"space.jpg"; FIRStorageReference *spaceRef = [imagesRef child:fileName]; // File path is "images/space.jpg" NSString *path = spaceRef.fullPath; // File name is "space.jpg" NSString *name = spaceRef.name; // Points to "images" imagesRef = [spaceRef parent];
Şimdi de bir proje yöneticisinin dosyaları yükle Cloud Storage.