Làm thế nào để lưu trữ và xem hình ảnh trên firebase?
Làm thế nào để lưu trữ và xem hình ảnh trên firebase?
Câu trả lời:
Cập nhật (20160519) : Firebase vừa phát hành một tính năng mới có tên Firebase Storage . Điều này cho phép bạn tải lên hình ảnh và dữ liệu phi JSON khác lên một dịch vụ lưu trữ chuyên dụng. Chúng tôi khuyên bạn nên sử dụng điều này để lưu trữ hình ảnh, thay vì lưu trữ chúng dưới dạng dữ liệu được mã hóa base64 trong cơ sở dữ liệu JSON.
Bạn chắc chắn có thể! Tùy thuộc vào hình ảnh của bạn lớn như thế nào, bạn có một vài lựa chọn:
1. Đối với hình ảnh nhỏ hơn (dưới 10mb)
Chúng tôi có một dự án ví dụ thực hiện điều đó tại đây: https://github.com/firebase/firepano
Cách tiếp cận chung là tải tệp cục bộ (sử dụng FileReader) để sau đó bạn có thể lưu trữ tệp đó trong Firebase giống như bất kỳ dữ liệu nào khác. Vì hình ảnh là tệp nhị phân, bạn sẽ muốn lấy nội dung được mã hóa base64 để bạn có thể lưu trữ dưới dạng chuỗi. Hoặc thậm chí thuận tiện hơn, bạn có thể lưu trữ dưới dạng dữ liệu: url sau đó sẵn sàng đăng nhập dưới dạng src của thẻ img (đây là ví dụ như vậy)!
2. Đối với hình ảnh lớn hơn
Firebase có giới hạn 10mb (dữ liệu chuỗi được mã hóa utf8). Nếu hình ảnh của bạn lớn hơn, bạn sẽ phải chia nó thành 10mb. Bạn đã đúng mặc dù Firebase được tối ưu hóa nhiều hơn cho các chuỗi nhỏ thay đổi thường xuyên thay vì các chuỗi nhiều megabyte. Nếu bạn có nhiều dữ liệu tĩnh lớn, chắc chắn tôi muốn giới thiệu S3 hoặc CDN.
Có, bạn có thể lưu trữ và xem hình ảnh trong Firebase. Bạn có thể sử dụng một filepicker để có được tập tin hình ảnh. Sau đó, bạn có thể lưu trữ hình ảnh theo cách bạn muốn, tôi thích Amazon s3. Khi hình ảnh được lưu trữ, bạn có thể hiển thị hình ảnh bằng cách sử dụng URL được tạo cho hình ảnh.
Hi vọng điêu nay co ich.
Cuối cùng tôi đã lưu trữ các hình ảnh ở định dạng base64. Tôi dịch chúng từ giá trị base64 của chúng khi được gọi lại từ firebase.
Bạn cũng có thể sử dụng một dịch vụ được gọi là Filepicker
sẽ lưu trữ hình ảnh của bạn đến máy chủ của họ và Filepicker hiện được gọi là Filestack, sẽ cung cấp cho bạn một url đến hình ảnh. Bạn có thể lưu trữ url vào Firebase.
Có một vài cách làm đầu tiên tôi đã làm theo cách Grendal2501 đã làm. Sau đó tôi đã làm nó tương tự như user15163, bạn có thể lưu URL hình ảnh trong căn cứ hỏa lực và lưu trữ hình ảnh trên máy chủ firebase của bạn hoặc Amazon S3;
Sử dụng chuỗi Base64 trong JSON sẽ rất nặng. Trình phân tích cú pháp phải làm rất nhiều việc nặng. Hiện tại, Fresco chỉ hỗ trợ cơ sở hỗ trợ Base64. Tốt hơn là bạn đặt một cái gì đó lên Amazon Cloud hoặc Firebase Cloud. Và lấy một hình ảnh như một URL. Vì vậy, bạn có thể sử dụng Picasso hoặc Glide cho bộ nhớ đệm.