Иногда, когда вы создаете приложение, все идет не так, как планировалось, и возникает ошибка!
Если у вас есть сомнения, перехватите исключение, выданное функцией, и посмотрите, что говорит сообщение об ошибке.
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 | Для облачного хранилища не настроен ни один сегмент. |
storage/project-not-found | Ни один проект не настроен для облачного хранилища. |
storage/quota-exceeded | Квота в вашем сегменте Cloud Storage превышена. Если вы используете бесплатный уровень, перейдите на платный план. Если у вас платный план, обратитесь в службу поддержки Firebase. |
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 Array. Аргумент, передаваемый в putString() должен быть необработанной строкой Base64 или Base64URL . |
storage/no-default-bucket | В свойстве storageBucket вашей конфигурации не установлено ни одного сегмента. |
storage/cannot-slice-blob | Обычно возникает, когда локальный файл был изменен (удален, сохранен снова и т. д.). Попробуйте загрузить еще раз, убедившись, что файл не изменился. |
storage/server-file-wrong-size | Размер файла на клиенте не соответствует размеру файла, полученного сервером. Попробуйте загрузить еще раз. |