Как хранить и просматривать изображения на firebase?
Как хранить и просматривать изображения на firebase?
Ответы:
Обновление (20160519) : Firebase только что выпустила новую функцию под названием Firebase Storage . Это позволяет загружать изображения и другие данные, отличные от JSON, в выделенную службу хранения. Мы настоятельно рекомендуем использовать это для хранения изображений, а не сохранять их как данные в кодировке base64 в базе данных JSON.
Вы, конечно, можете! В зависимости от размера ваших изображений у вас есть несколько вариантов:
1. Для небольших изображений (до 10 МБ)
У нас есть пример проекта, который делает это здесь: https://github.com/firebase/firepano
Общий подход заключается в загрузке файла локально (с использованием FileReader), чтобы вы могли затем сохранить его в Firebase, как и любые другие данные. Поскольку изображения являются двоичными файлами, вам нужно получить содержимое в кодировке base64, чтобы вы могли сохранить его в виде строки. Или, что еще удобнее, вы можете сохранить его в виде data: url, который затем будет готов к использованию в качестве src тега img (это то, что делает пример)!
2. Для больших изображений
Firebase имеет ограничение в 10 Мб (из строковых данных в кодировке utf8). Если ваше изображение больше, вам придется разбить его на 10 МБ. Вы правы, хотя Firebase более оптимизирован для небольших строк, которые часто меняются, а не для строк размером в несколько мегабайт. Если у вас много больших статических данных, я бы определенно рекомендовал S3 или CDN.
Да, вы можете хранить и просматривать изображения в Firebase. Вы можете использовать средство выбора файлов, чтобы получить файл изображения. Тогда вы можете разместить изображение, как хотите, я предпочитаю Amazon s3. После размещения изображения вы можете отобразить его, используя URL-адрес, созданный для изображения.
Надеюсь это поможет.
Я закончил тем, что сохранил изображения в формате base64 самостоятельно. Я перевожу их из их значения base64 при обратном вызове из firebase.
Вы также можете использовать сервис под названием, Filepicker
который будет хранить ваше изображение на их серверах, а Filepicker, который теперь называется Filestack, предоставит вам ссылку на изображение. Вы можете сохранить ссылку на Firebase.
Есть несколько способов сделать это, я сначала сделал так, как это сделал Grendal2501. Затем я сделал это аналогично user15163, вы можете сохранить URL-адрес изображения в firebase и разместить его на хосте firebase или в Amazon S3;
Использование строки Base64 в JSON будет очень тяжелым. Парсер должен сделать много тяжелой работы. В настоящее время Fresco поддерживает только базовые версии Base64. Лучше положить что-нибудь в Amazon Cloud или Firebase Cloud. И получить изображение в виде URL. Так что вы можете использовать Пикассо или Glide для кэширования.