Ответ 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.