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