फायरबेस पर छवियों को कैसे स्टोर और देखें?
फायरबेस पर छवियों को कैसे स्टोर और देखें?
जवाबों:
अपडेट (20160519) : फायरबेस ने फायरबेज स्टोरेज नामक एक नई सुविधा जारी की । इससे आप छवियों और अन्य गैर-JSON डेटा को एक समर्पित भंडारण सेवा में अपलोड कर सकते हैं। हम अत्यधिक अनुशंसा करते हैं कि आप JSON डेटाबेस में बेस 64 एन्कोडेड डेटा के रूप में संग्रहीत करने के बजाय, छवियों को संग्रहीत करने के लिए इसका उपयोग करते हैं।
आप निश्चित रूप से कर सकते हैं! आपकी छवियां कितनी बड़ी हैं, इस पर निर्भर करते हुए, आपके पास कुछ विकल्प हैं:
1. छोटी छवियों के लिए (10mb के तहत)
हमारे पास एक उदाहरण परियोजना है जो यहां करती है: https://github.com/firebase/firepano
सामान्य दृष्टिकोण फ़ाइल को स्थानीय रूप से लोड करना है (FileReader का उपयोग करके) ताकि आप फिर इसे फायरबेस में स्टोर कर सकें, जैसा कि आप किसी अन्य डेटा पर करेंगे। चूंकि छवियाँ बाइनरी फाइलें हैं, आप बेस 64-एन्कोडेड सामग्री प्राप्त करना चाहेंगे ताकि आप इसे एक स्ट्रिंग के रूप में संग्रहीत कर सकें। या इससे भी अधिक सुविधाजनक, आप इसे एक डेटा के रूप में संग्रहीत कर सकते हैं : url जो तब img टैग के src के रूप में तैयार करने के लिए तैयार है (यह वही है जो उदाहरण करता है)!
2. बड़ी छवियों के लिए
Firebase में 10mb (utf8-encoded string data) की सीमा होती है। यदि आपकी छवि बड़ी है, तो आपको इसे 10mb विखंडू में तोड़ना होगा। हालांकि आप सही हैं कि फायरबेस छोटे स्ट्रिंग्स के लिए अधिक अनुकूलित है जो मल्टी-मेगाबाइट स्ट्रिंग्स के बजाय अक्सर बदलते हैं। यदि आपके पास बहुत से बड़े स्टैटिक डेटा हैं, तो मैं निश्चित रूप से S3 या CDN की सिफारिश करूंगा।
हां, आप फायरबेस में छवियों को स्टोर और देख सकते हैं। इमेज फाइल पाने के लिए आप फाइलपिकर का इस्तेमाल कर सकते हैं। फिर आप छवि को होस्ट कर सकते हैं लेकिन आप चाहते हैं, मुझे अमेज़ॅन एस 3 पसंद है। एक बार छवि होस्ट होने के बाद आप छवि के लिए उत्पन्न URL का उपयोग करके छवि प्रदर्शित कर सकते हैं।
उम्मीद है की यह मदद करेगा।
मैंने बेस 64 प्रारूप में छवियों को स्वयं संग्रहीत करना समाप्त कर दिया। फायरबेस से वापस बुलाए जाने पर मैं उनके बेस 64 मूल्य से उनका अनुवाद करता हूं।
आप एक ऐसी सेवा का भी उपयोग कर सकते हैं, Filepicker
जो आपकी छवि को उनके सर्वर पर संग्रहीत करेगी और फाइलपिकर जिसे अब फ़िलिस्तैक कहा जाता है, आपको छवि के लिए एक यूआरएल प्रदान करेगा। आप यूआरएल को फायरबेस पर स्टोर कर सकते हैं।
वहाँ करने के कुछ तरीके हैं मैंने पहली बार ग्रैन्डल 2501 को जिस तरह से किया था। मैंने तब user15163 के समान किया था, आप छवि URL को फायरबेस में संग्रहीत कर सकते हैं और छवि को अपने फायरबेस होस्ट या अमेज़ॅन एस 3 पर भी होस्ट कर सकते हैं;
JSON में Base64 स्ट्रिंग का उपयोग करना बहुत भारी होगा। पारसर को बहुत भारी उठाने की ज़रूरत होती है। वर्तमान में, Fresco केवल आधार का समर्थन करता है Base64 का समर्थन करता है। बेहतर है आप अमेजन क्लाउड या फायरबेस क्लाउड पर कुछ डालें। और URL के रूप में एक छवि प्राप्त करें। ताकि आप कैशिंग के लिए पिकासो या ग्लाइड का उपयोग कर सकें।