วิธีการจัดเก็บและดูภาพบน firebase?
วิธีการจัดเก็บและดูภาพบน firebase?
คำตอบ:
ปรับปรุง (20160519) : Firebase เพียงแค่เปิดตัวคุณสมบัติใหม่ที่เรียกว่าFirebase การจัดเก็บข้อมูล สิ่งนี้อนุญาตให้คุณอัพโหลดรูปภาพและข้อมูลอื่น ๆ ที่ไม่ใช่ JSON ไปยังบริการจัดเก็บข้อมูลเฉพาะ เราขอแนะนำให้คุณใช้สิ่งนี้ในการจัดเก็บภาพแทนการจัดเก็บเป็นข้อมูลที่เข้ารหัส base64 ในฐานข้อมูล JSON
แน่นอนคุณสามารถ! ขึ้นอยู่กับว่าภาพของคุณใหญ่แค่ไหนคุณมีตัวเลือกสองสามอย่าง:
1. สำหรับภาพขนาดเล็ก (ต่ำกว่า 10mb)
เรามีตัวอย่างโครงการที่ทำได้ที่นี่: https://github.com/firebase/firepano
วิธีการทั่วไปคือการโหลดไฟล์ในเครื่อง (โดยใช้ FileReader) เพื่อให้คุณสามารถเก็บไว้ใน Firebase ได้เช่นเดียวกับข้อมูลอื่น ๆ เนื่องจากรูปภาพเป็นไฟล์ไบนารีคุณจะต้องการรับเนื้อหาที่เข้ารหัสแบบ 64 เพื่อให้คุณสามารถจัดเก็บเป็นสตริงได้ หรือสะดวกยิ่งขึ้นคุณสามารถจัดเก็บเป็นdata: urlซึ่งพร้อมที่จะเสียบเข้ากับ src ของแท็ก img (นี่คือตัวอย่าง)
2. สำหรับภาพขนาดใหญ่
Firebase มีขีด จำกัด 10mb (จากข้อมูลสตริงที่เข้ารหัส utf8) หากภาพของคุณใหญ่กว่าคุณจะต้องแยกเป็น 10mb คุณคิดถูกแล้วว่า Firebase นั้นได้รับการปรับให้เหมาะสมกับสตริงเล็ก ๆ ที่เปลี่ยนบ่อยมากกว่าสตริงหลายเมกะไบต์ หากคุณมีข้อมูลสแตติกขนาดใหญ่จำนวนมากฉันขอแนะนำ S3 หรือ CDN แทน
ใช่คุณสามารถจัดเก็บและดูภาพใน Firebase คุณสามารถใช้ filepicker เพื่อรับไฟล์รูปภาพ จากนั้นคุณสามารถโฮสต์ภาพได้ตามที่คุณต้องการฉันชอบ Amazon s3 เมื่อรูปภาพถูกโฮสต์คุณสามารถแสดงรูปภาพโดยใช้ URL ที่สร้างขึ้นสำหรับรูปภาพ
หวังว่านี่จะช่วยได้
ฉันสิ้นสุดการจัดเก็บภาพในรูปแบบ base64 ด้วยตัวเอง ฉันแปลพวกมันจากค่า base64 เมื่อถูกเรียกกลับจาก firebase
นอกจากนี้คุณยังสามารถใช้บริการที่เรียกว่าFilepicker
ซึ่งจะเก็บภาพของคุณไปยังเซิร์ฟเวอร์และFilepickerซึ่งตอนนี้เรียกว่า Filestack จะช่วยให้คุณมี URL ไปยังภาพ คุณสามารถเก็บ url ไปยัง Firebase ได้
มีสองวิธีในการทำครั้งแรกที่ฉันทำวิธีที่ Grendal2501 ทำได้ ฉันทำมันคล้ายกับ user15163 คุณสามารถจัดเก็บ URL รูปภาพใน firebase และโฮสต์รูปภาพบนโฮสต์ firebase ของคุณหรือ Amazon S3
การใช้สตริง Base64 ใน JSON จะหนักมาก เครื่องมือแยกวิเคราะห์ต้องทำการยกของหนักมาก ปัจจุบัน Fresco รองรับเฉพาะฐานรองรับ Base64 เท่านั้น ดีกว่าที่คุณใส่อะไรลงบน Amazon Cloud หรือ Firebase Cloud และรับภาพเป็น URL เพื่อให้คุณสามารถใช้ Picasso หรือ Glide เพื่อทำการแคช