Referans oluşturma
Dosyayı indirmek için
indireceğimiz dosyaya referans oluşturmamız gerekiyor.
Depolama alanına alt yol
ekleyerek bir referans oluşturabilir veya Cloud Storage'daki bir nesneyi
referans alan mevcut bir gs: // veya https: // URL'den bir referans
oluşturabilirsiniz.Kısaca ya storage dan direk referans oluşturacaz yada Url
üzerinden indirecez.
// Bir sotoragemize anareferans oluşturuyoruz.
StorageReference storageRef = storage.getReference();
// şimdi ise storage mizi refere eden referanstan cocuk referanlar türetiyoruz.
StorageReference pathReference = storageRef.child("images/stars.jpg");
// url şeklinde referans oluşturulma şeki
StorageReference gsReference = storage.getReferenceFromUrl("gs://bucket/images/stars.jpg");
// http şeklinde de referanslar oluşturabiliriz.
/
StorageReference httpsReference = storage.getReferenceFromUrl("https://firebasestorage.googleapis.com/b/bucket/o/images%20stars.jpg");
Dosyaları İndir
Bir referans oluşturduktan sonra, getBytes () veya
getStream () metotlarını çağırarak Cloud Storage'dan dosyaları
indirebilirsiniz. Dosyayı başka bir seçenekle indirmeyi tercih ediyorsanız,
getDownloadUrl () ile bir indirme URL'si alabilirsiniz.
Hafızaya İndir
Dosyayı, getBytes () yöntemiyle bir bayt'a [] indir. Bu, bir dosyayı
indirmenin en kolay yoludur, ancak dosyanızın tüm içeriğini belleğe yüklemeniz
gerekir. Uygulamanızın kullanılabilir belleğinden daha büyük bir dosya talep
ederseniz uygulamanız çöker. Bellek sorunlarına karşı koruma sağlamak için
getBytes () indirmek için maksimum miktarda bayt alır. Maksimum boyutu,
uygulamanızın kullanabileceğini bildiğiniz bir şeye ayarlayın veya başka bir
indirme yöntemini ona göre kullanın.
StorageReference islandRef = storageRef.child("images/island.jpg"); final long ONE_MEGABYTE = 1024 * 1024; islandRef.getBytes(ONE_MEGABYTE).addOnSuccessListener(new OnSuccessListener<byte[]>() { @Override public void onSuccess(byte[] bytes) { // Data for "images/island.jpg" is returns, use this as needed } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception exception) { // Handle any errors } });
Yerel dosyaya indir
GetFile () yöntemi, bir dosyayı doğrudan bir yerel
aygıta yükler. Kullanıcılarınız çevrimdışı durumdayken dosyaya erişmek veya
dosyayı farklı bir uygulamada paylaşmak istiyorsa kullanın. GetFile (),
karşıdan yükleme işlemini yönetmek ve karşıdan yükleme durumunu izlemek için
kullanabileceğiniz bir YüklemeTask'ı döndürür.
islandRef = storageRef.child("images/island.jpg"); File localFile = File.createTempFile("images", "jpg"); islandRef.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() { @Override public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) { // Local temp file has been created } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception exception) { // Handle any errors } });
URL yoluyla veri indirin
Zaten URL'lere dayalı indirme altyapısına sahipseniz
veya yalnızca paylaşmak için bir URL istiyorsanız, bir depolama referansı
üzerinde getDownloadUrl () yöntemini çağırarak bir dosya için indirme URL'si
alabilirsiniz.
storageRef.child("users/me/profile.png").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() { @Override public void onSuccess(Uri uri) { // Got the download URL for 'users/me/profile.png' } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception exception) { // Handle any errors } });
Show Conversion Code Hide Conversion Code Show Emoticon Hide Emoticon