Firebase'de görüntüler nasıl saklanır ve görüntülenir?
Firebase'de görüntüler nasıl saklanır ve görüntülenir?
Yanıtlar:
Güncelleme (20160519) : Firebase, Firebase Depolama adlı yeni bir özellik yayınladı . Bu, görüntüleri ve diğer JSON dışı verileri özel bir depolama hizmetine yüklemenizi sağlar. Bunu, görüntüleri JSON veritabanında base64 kodlu veri olarak depolamak yerine, saklamak için kullanmanızı önemle öneririz.
Kesinlikle yapabilirsiniz! Görüntülerinizin büyüklüğüne bağlı olarak, birkaç seçeneğiniz vardır:
1. Daha küçük görüntüler için (10mb'nin altında)
Burada bunu yapan bir örnek projemiz var: https://github.com/firebase/firepano
Genel yaklaşım dosyayı yerel olarak yüklemektir (FileReader kullanarak), tıpkı diğer veriler gibi Firebase'de depolayabilirsiniz. Görüntüler ikili dosyalar olduğundan, base64 ile kodlanmış içeriği almak ve böylece bir dize olarak saklamak istersiniz. Ya da daha da kullanışlı, bir veri olarak saklayabilirsiniz : bir img etiketinin src'si olarak girmeye hazır olan url (örneğin, yaptığı şey budur)!
2. Daha büyük görüntüler için
Firebase'in 10mb (utf8 kodlu dize verisi) sınırı vardır. Resminiz daha büyükse, 10mb'lik parçalara bölmeniz gerekir. Firebase'in çok megabaytlı dizelerden ziyade sık sık değişen küçük dizeler için daha optimize edilmiş olmasına rağmen haklısınız. Çok sayıda büyük statik verileriniz varsa, bunun yerine kesinlikle S3 veya CDN'yi öneriyorum.
Evet, görüntüleri Firebase'de depolayabilir ve görüntüleyebilirsiniz. Görüntü dosyasını almak için bir dosya seçici kullanabilirsiniz. Sonra görüntüyü istediğiniz gibi barındırabilirsiniz, Amazon s3'ü tercih ederim. Resim barındırıldıktan sonra, resim için oluşturulan URL'yi kullanarak resmi görüntüleyebilirsiniz.
Bu yardımcı olur umarım.
Görüntüleri base64 formatında kendim sakladım. Firebase'den geri çağrıldığında onları base64 değerlerinden çeviriyorum.
Ayrıca adlı bir hizmeti kullanabilir Filepicker
kendi sunucuları ve Görselinizi saklayacak olan Filepicker Resme bir url sağlayacaktır, şimdi Dosya yiginina denir. URL'yi Firebase'e depolayabilirsiniz.
Grendal2501'in yaptığı gibi ilk yaptığım birkaç yol var. Daha sonra user15163'e benzer şekilde yaptım, resim URL'sini firebase'de depolayabilir ve resmi firebase ana bilgisayarınızda veya Amazon S3'te barındırabilirsiniz;
JSON'da Base64 dizesini kullanmak çok ağır olacaktır. Ayrıştırıcı çok fazla ağır kaldırma yapmak zorundadır. Şu anda, Fresco sadece Base64 taban desteklerini desteklemektedir. Amazon Cloud veya Firebase Cloud'a daha iyi bir şey koyarsanız. Ve URL olarak bir resim alın. Böylece önbellekleme için Picasso veya Glide kullanabilirsiniz.