Как сохранить ссылки на объекты хранилища Firebase? - PullRequest
0 голосов
/ 17 апреля 2020
  1. Хранить ссылки по имени (users / 1 / profile.png). Затем необходимо постоянно генерировать URL.
const url = await firebase
  .storage()
  .ref('users/1/profile.png')
  .getDownloadURL()
Хранить ссылки по URL. Маркер доступа может быть отозван, что приведет к проблемам при попытке создать новый и обновить его в базе данных.
const url = await firebase
  .storage()
  .refFromURL(invalidURL)
  .getDownloadURL()
Относится к # 1. Хранить только по имени файла, чтобы файлы можно было перемещать без обновления ссылок на базы данных.
const url = await firebase
  .storage()
  .ref(`users/${user.id}/${user.image}`)
  .getDownloadURL()

1 Ответ

2 голосов
/ 18 апреля 2020

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

Сохраните URL-адрес загрузки , если хотите напрямую обслуживать файл из хранилища (например, тег <img>).

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

Вызов getDownloadURL() вызывает сетевой запрос, поэтому рекомендуется по возможности кэшировать результат, чтобы избежать ненужной дополнительной работы / задержки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...