2016-08-02 4 views
0

Я разрабатываю мобильное приложение с firebase 3, ionic2 и Angular2. Мы будем непрерывно создавать новые аудиофайлы, которые будут предлагаться всем нашим подписчикам, т. Е. Аудиофайлы не являются специфичными для пользователя. Аудиофайлы предлагаются в модулях и последовательно. Другими словами, подписанный пользователь сможет прослушивать следующий файл в модуле, когда прослушиваются все предыдущие файлы в этом модуле.Firebase хостинг с постоянно растущим количеством аудиофайлов

Хостинг Firebase, похоже, не работает для этой цели, поскольку я понимаю, что всякий раз, когда мы добавляем новый звук, нам нужно будет загрузить весь сайт со всеми предыдущими и новыми аудиофайлами в качестве контента. Это было бы невероятно утомительно и не было бы приемлемым решением. Я ошибаюсь в этом предположении? Я не видел никакой дополнительной загрузки для хостинга или ftp-доступа к нему.

В качестве альтернативы я сейчас рассматриваю хранилище для хранения данных для размещения наших аудиофайлов. Однако в этом случае я не уверен, как защитить хранилище. Поскольку мой ключ api должен быть общедоступным в исходном файле (js или html), мне кажется, что каждый подписанный пользователь с небольшим знанием js может получить доступ к папкам, которые размещают наши аудиофайлы, а затем просто загружать их.

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

Каков наилучший способ для этого?

+1

Если вы хотите, чтобы обеспечить доступ к файлам в Firebase хранения на основе учетных данных пользователя, см https://firebase.google.com/docs/storage/security/ –

ответ

0

Все зависит от того, как вы храните эти аудиофайлы в Firebase. Избегайте хранения файлов в формате base64 и используйте использование Firebase Storage.

очень рекомендую использовать или-

  1. Firebase хранения пошагово хранить звуковые файлы и обеспечивают пользователей с непрерывным потоком.
  2. Загрузка изображений s3 и пошагово сохранить Hash в firebase с использованием arrays-

    вар сообщений = $ FirebaseArray (реф);

    // добавить новую запись в список сообщения $ Добавить ({ пользователь: "physicsmarie", текст: "Привет мир" }).

    // удалить элемент из списка сообщений. $ Remove (someRecordKey);

    // изменить сообщение и сохранить его var item = messages. $ GetRecord (someRecordKey); item.user = "alanisawesome"; messages. $ Save (item) .then (function() { // данные сохранены в нашей базе данных });

+0

1. Да, как я уже говорил в моем Op это то, что я рассматриваю. Однако мой вопрос заключается в том, как их обеспечить. 2. Я не вижу, какие хостинговые образы в S3 имеют отношение к проблеме. – hholtij