Как обрабатывать ошибки Cloud Storage в веб-приложениях

Иногда при создании приложения что-то идет не так и возникает ошибка.

Если вы сомневаетесь, проверьте обработчик ошибок (или функцию catch() для Promises) и посмотрите, что говорится в сообщении об ошибке.

Если вы проверили сообщение об ошибке и у вас есть Cloud Storage Security Rules, позволяющие выполнить действие, но вы по-прежнему не можете устранить ошибку, посетите нашу страницу поддержки и сообщите нам, чем мы можем помочь.

Обработка сообщений об ошибках

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

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

Код Причина
storage/unknown Произошла неизвестная ошибка.
storage/object-not-found По указанной ссылке нет объекта.
storage/bucket-not-found Для Cloud Storage не настроен сегмент.
storage/project-not-found Для Cloud Storage не настроен проект.
storage/quota-exceeded Превышена квота для сегмента. Для работы с Cloud Storage for Firebase требуется тарифный план Blaze с оплатой по мере использования. Если вы видите эту ошибку в проекте с тарифным планом Spark, вам нужно перейти на тарифный план Blaze, чтобы восстановить доступ. Подробную информацию можно найти в разделе часто задаваемых вопросов.
storage/unauthenticated Пользователь не аутентифицирован. Выполните аутентификацию и повторите попытку.
storage/unauthorized У пользователя нет прав на выполнение запрошенного действия. Проверьте правила безопасности.
storage/retry-limit-exceeded Максимальное время выполнения операции (загрузки, скачивания, удаления и т. д.) превышена. Попробуйте загрузить его ещё раз.
storage/invalid-checksum Контрольная сумма файла на клиенте не совпадает с контрольной суммой файла, полученного сервером. Попробуйте загрузить его ещё раз.
storage/canceled Пользователь отменил действие.
storage/invalid-event-name Указано недопустимое название события. Допустимые значения: `running`, `progress`, `pause`.
storage/invalid-url В refFromURL() указан недопустимый URL. Должен иметь следующий формат: gs://bucket/object или https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=&ltTOKEN>.
storage/invalid-argument Аргумент, передаваемый в put(), должен быть массивом `File`, `Blob` или `UInt8`. Аргумент, передаваемый в putString(), должен быть строкой в формате raw, Base64 или Base64URL.
storage/no-default-bucket В свойстве storageBucket конфигурации Firebase не задан сегмент.
storage/cannot-slice-blob Обычно это происходит, когда локальный файл был изменен (удален, сохранен заново и т. д.). Убедитесь, что файл не был изменен, и повторите попытку.
storage/server-file-wrong-size Размер файла на клиенте не совпадает с размером файла, полученного сервером. Попробуйте загрузить его ещё раз.