Obsługa błędów Cloud Storage w Flutter

Czasami podczas tworzenia aplikacji coś idzie nie tak i występuje błąd.

W razie wątpliwości przechwyć wyjątek wygenerowany przez funkcję i sprawdź, co mówi komunikat o błędzie.

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}");
}

Obsługa komunikatów o błędach

Błędy mogą wystąpić z różnych powodów, m.in. gdy plik nie istnieje, użytkownik nie ma uprawnień do dostępu do wybranego pliku lub użytkownik anulował przesyłanie pliku.

Aby prawidłowo zdiagnozować problem i rozwiązać błąd, przedstawiamy pełną listę wszystkich błędów, które może zgłosić nasz klient, oraz sposobów ich wystąpienia.

Kod Opis
storage/unknown Wystąpił nieznany błąd.
storage/object-not-found W przypadku wybranego odwołania nie ma żadnego obiektu.
storage/bucket-not-found Nie skonfigurowano zasobnika dla Cloud Storage
storage/project-not-found Brak skonfigurowanego projektu w Cloud Storage
storage/quota-exceeded Limit w przypadku puli Cloud Storage został przekroczony. Jeśli korzystasz z abonamentu Spark, rozważ przejście na abonament Blaze z płatnością za korzystanie. Jeśli masz już abonament Blaze, skontaktuj się z zespołem pomocy Firebase.

Ważne: od 1 października 2025 r. abonament Blaze będzie wymagany do używania Cloud Storage, nawet domyślnych zasobników.
storage/unauthenticated Użytkownik nie jest uwierzytelniony. Uwierzytelnij się i spróbuj ponownie.
storage/unauthorized Użytkownik nie ma uprawnień do wykonania żądanego działania. Sprawdź, czy reguły zabezpieczeń są prawidłowe.
storage/retry-limit-exceeded Maksymalny limit czasu operacji (przesyłanie, pobieranie, usuwanie itp.) został przekroczony. Spróbuj przesłać jeszcze raz.
storage/invalid-checksum Plik na kliencie nie jest zgodny z sumą kontrolną pliku otrzymanego przez serwer. Spróbuj przesłać jeszcze raz.
storage/canceled Operacja została anulowana przez użytkownika.
storage/invalid-event-name Podano nieprawidłową nazwę zdarzenia. Wymagana jest jedna z wartości: [running, progress, pause]
storage/invalid-url Podany adres URL jest nieprawidłowy.refFromURL() Musi mieć format: gs://bucket/object lub https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>
storage/invalid-argument Argument przekazany funkcji put() musi być tablicą File, Blob lub UInt8. Argument przekazany do funkcji putString() musi być ciągiem znaków w formie zwykłej, Base64 lub Base64URL.
storage/no-default-bucket W ustawieniu storageBucket w konfiguracji nie został określony żaden zasobnik.
storage/cannot-slice-blob Zwykle dzieje się tak, gdy plik lokalny uległ zmianie (usunięto, zapisano ponownie itp.). Spróbuj przesłać go ponownie, gdy upewnisz się, że plik nie został zmieniony.
storage/server-file-wrong-size Plik na kliencie ma inny rozmiar niż plik otrzymany przez serwer. Spróbuj przesłać jeszcze raz.