Иногда при создании приложения что-то идет не так и возникает ошибка.
Если вы сомневаетесь, перехватите исключение, созданное функцией, и посмотрите, что говорится в сообщении об ошибке.
final storageRef = FirebaseStorage.instance.ref().child("files/uid");
try {
final listResult = await storageRef.listAll();
} on FirebaseException catch (e) {
// Caught an exception from Firebase.
print("Failed with error '${e.code}': ${e.message}");
}
Обработка сообщений об ошибках
Ошибки могут возникать по разным причинам, например если файл не существует, у пользователя нет разрешения на доступ к нужному файлу или пользователь отменил загрузку файла.
Чтобы правильно диагностировать проблему и обработать ошибку, ознакомьтесь с полным списком всех ошибок, которые может выдать наш клиент, и причинами их возникновения.
| Код | Описание |
|---|---|
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=<TOKEN>. |
storage/invalid-argument |
Аргумент, переданный в put(), должен быть массивом File, Blob или UInt8. Аргумент, переданный в putString(), должен быть необработанной строкой, строкой Base64 или Base64URL. |
storage/no-default-bucket |
В свойстве storageBucket конфигурации не задан сегмент. |
storage/cannot-slice-blob |
Обычно это происходит, когда локальный файл был изменен (удален, сохранен заново и т. д.). Убедитесь, что файл не изменился, и повторите попытку. |
storage/server-file-wrong-size |
Размер файла на клиенте не совпадает с размером файла, полученного сервером. Попробуйте загрузить его ещё раз. |