Firebase Fotoğraf İndirme

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

    }

});


sonraki
« Prev Post
Önceki
Next Post »
Thanks for your comment