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, poniżej znajdziesz pełną listę wszystkich błędów, które może zgłosić nasz klient, oraz informacje o ich przyczynach.

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 Zasobnik Cloud Storage nie jest skonfigurowany
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 korzystasz już z abonamentu Blaze, skontaktuj się z zespołem pomocy Firebase.

Ważne: od 1 października 2025 r. abonament Blaze będzie wymagany do korzystania z Cloud Storage, nawet w przypadku domyślnych puli.
storage/unauthenticated Użytkownik nie jest uwierzytelniony. Uwierzytelnij się i spróbuj ponownie.
storage/unauthorized Użytkownik nie ma uprawnień do wykonania żądanej czynności. Sprawdź reguły zabezpieczeń, aby upewnić się, że są prawidłowe.
storage/retry-limit-exceeded Przekroczono maksymalny limit czasu operacji (przesyłanie, pobieranie, usuwanie itp.). 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 występuje, gdy plik lokalny uległ zmianie (został usunięty, zapisany ponownie itp.). Spróbuj przesłać plik ponownie, gdy upewnisz się, że nie uległ zmianie.
storage/server-file-wrong-size Plik na kliencie ma inny rozmiar niż plik otrzymany przez serwer. Spróbuj przesłać jeszcze raz.