Firebase Cloud Storage: разрешение отклонено.не удалось выполнить эту операцию firebase при получении downloadURL - PullRequest
0 голосов
/ 20 мая 2018

У меня есть функция, которая успешно загружает изображение в мое облачное хранилище.

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

getImageUrl(id: string) {
    return this.storageRef.child('X/' + id ).getDownloadURL();

Но когда я делаю это, я получаю 'недопустимый URL-адрес, и когда я копирую URL-адрес и перехожу на него, я получаю следующее сообщение:

{
  "error": {
    "code": 403,
    "message": "Permission denied. Could not perform this operation"
  }
}

Я где-то читал, что это может быть из-за того, что в URL-адресе нет никакого токена, но как я могу это сделать?включить это?

Ответы [ 3 ]

0 голосов
/ 10 августа 2018

Последние пару дней я пытался понять правила Firebase Storage, и я не знаю почему, но когда я разделяю правила для записи и чтения, например, так:

allow write: if request.auth != null && request.resource.size < 3 * 1024 * 1024;
allow read: if true;

кодпрекрасно работает, и я могу писать и читать, используя getDownloadURL (), но когда я использую их вместе, как это:

allow read, write: if request.auth != null && request.resource.size < 3 * 1024 * 1024;

Я получаю ту же ошибку, что и вы:

{
  "error": {
  "code": 403,
  "message": "Permission denied. Could not perform this operation"
  }

}

Я могу написать, когда использую их вместе, но когда я пытаюсь прочитать файл с помощью getDownloadURL (), возникает проблема.Может быть, вы могли бы попытаться отделить правила, как я упоминал, и посмотреть, работает ли это.Я надеюсь, что это решит вашу проблему.Также не забывайте, что правила действуют через 5 минут с момента их установки.Удачи.

0 голосов
/ 25 ноября 2018

Вы должны установить правила безопасности хранения, подробнее об этом здесь

0 голосов
/ 21 мая 2018

Вам необходимо использовать метод getDownloadURL.Это позволит вам получить URL, необходимый для загрузки изображения или для ссылки в вашем собственном html.

См. Справочную документацию ниже:

https://firebase.google.com/docs/storage/web/download-files#download_data_via_url

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