Firebase & Swift: как использовать другую базу данных для хранения больших файлов?

В настоящее время я пытаюсь создать чат-приложение в быстром режиме, используя Firebase для обмена сообщениями в режиме реального времени. Моя единственная проблема заключается в том, что я хочу, чтобы пользователи отправляли изображения, я хочу, чтобы у них были профили с изображениями, но я знаю, что Firebase имеет ограниченное хранилище (или, по крайней мере, для каждого уровня оплаты недостаточно для количества подключений)

Поэтому я хотел бы знать, как подключить другую базу данных и совершать вызовы, когда это необходимо между ними. Поэтому, когда и изображение отправляется в сообщении, а не в Firebase, хранящем изображение, оно хранит URL-адрес изображения в другой базе данных.

У меня под впечатлением что-то вроде AWS S3 - мой лучший выбор. любая помощь приветствуется!

Ответ 1

Этот вопрос задан раньше, и есть ряд решений. Это своего рода вопрос типа "мнения", но здесь есть несколько вариантов.

Просмотр и сохранение изображений в Firebase

Firebase имеет емкость 10 МБ, что подходит для многих изображений. Однако, если вам нужно больше, они могут быть легко закодированы как base64 и разбиты на куски.

Если вы хотите выйти наружу:

s3 или Filepicker (Filestack), а также Google предоставляют некоторые параметры.

Не уверен в общих требованиях, но, очевидно, вы можете вникать в CloudKit/CoreData, и даже Dropbox предлагает API.

У меня нет опыта с Box, но это может быть и вариант.

Каждая опция имеет собственный API.

В общем, вы должны сохранить ссылку в firebase node на изображение/объект, о котором идет речь. Тем не менее, механики этого сильно варьируются, так как взаимодействие с CloudKit/CoreData будет отличаться от того, что говорит Filepicker.

С помощью CoreData вам придется свернуть собственную схему ссылок, тогда как Filepicker вы можете иметь почти прямую ссылку на файл.

Многие из этих сервисов предоставляют бесплатные или низкозатратные опросы, и вы можете взломать некоторый код в течение нескольких минут, чтобы проверить функциональность, чтобы увидеть, может ли она соответствовать вашим требованиям.

Если вам нужна помощь в кодировании/декодировании, см. ответ на этот вопрос

Swift2 извлечения изображений из Firebase

Как только вы начнете катиться, если у вас есть вопросы, отправьте код по другому вопросу.