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

Czasami podczas tworzenia aplikacji nie układa się zgodnie z planem, występuje błąd.

W razie wątpliwości przechwyć wyjątek zgłoszony przez funkcję i zobaczyć, co zawiera 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ą być spowodowane wieloma przyczynami. Jednym z nich jest plik nie istnieje, użytkownik nie ma uprawnień dostępu do żądanego pliku lub Użytkownik anuluje przesyłanie pliku.

Aby prawidłowo zdiagnozować problem i rozwiązać go, przygotowaliśmy pełną listę listę wszystkich błędów zgłaszanych przez klienta i sposób ich wystąpienia.

Kod Opis
storage/unknown Wystąpił nieznany błąd.
storage/object-not-found W żądanym odwołaniu nie ma obiektu.
storage/bucket-not-found Nie skonfigurowano zasobnika dla Cloud Storage
storage/project-not-found Nie skonfigurowano projektu dla Cloud Storage
storage/quota-exceeded Limit zasobnika Cloud Storage został przekroczony. Jeśli korzystasz z abonamentu bezpłatnego, przejdź na abonament płatny. Jeśli masz płatny abonament, skontaktuj się z zespołem pomocy Firebase.
storage/unauthenticated Użytkownik nie jest uwierzytelniony. Przeprowadź uwierzytelnianie 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 w kliencie nie jest zgodny z sumą kontrolną pliku odebranego przez serwer. Spróbuj przesłać jeszcze raz.
storage/canceled Operacja anulowana przez użytkownika.
storage/invalid-event-name Podano nieprawidłową nazwę zdarzenia. Musi to być wartość [running, progress, pause].
storage/invalid-url Podano nieprawidłowy adres URL w usłudze refFromURL(). Wymagany format: gs://bucket/object lub https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>
storage/invalid-argument Argument przekazany do funkcji put() musi być tablicą File, Blob lub UInt8. Argument przekazany do funkcji putString() musi być ciągiem nieprzetworzonym, Base64 lub Base64URL.
storage/no-default-bucket We właściwości storageBucket Twojej konfiguracji nie ustawiono żadnego zasobnika.
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 Rozmiar pliku w kliencie nie odpowiada rozmiarowi pliku odebranego przez serwer. Spróbuj przesłać jeszcze raz.