Czasami podczas tworzenia aplikacji coś idzie nie tak i występuje błąd.
W razie wątpliwości przechwyć wyjątek zgłoszony przez funkcję i sprawdź 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ępować z różnych powodów, m.in. z powodu braku pliku, braku uprawnień użytkownika do dostępu do żądanego pliku lub anulowania przez użytkownika przesyłania pliku.
Aby prawidłowo zdiagnozować problem i obsłużyć błąd, zapoznaj się z pełną listą wszystkich błędów, które może zgłosić nasz klient, oraz z ich przyczynami.
| Kod | Opis |
|---|---|
storage/unknown |
Wystąpił nieznany błąd. |
storage/object-not-found |
Nie ma obiektu w żądanym odwołaniu. |
storage/bucket-not-found |
Nie skonfigurowano zasobnika dla Cloud Storage |
storage/project-not-found |
Nie skonfigurowano projektu dla Cloud Storage |
storage/quota-exceeded |
Przekroczono limit zasobnika. Cloud Storage for Firebase wymaga abonamentu Blaze (płatność według wykorzystania). Jeśli ten błąd występuje w projekcie z abonamentem Spark, musisz przejść na abonament Blaze, aby odzyskać dostęp. Szczegółowe informacje znajdziesz w najczęstszych pytaniach. |
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 bezpieczeństwa, aby upewnić się, że są prawidłowe. |
storage/retry-limit-exceeded |
Przekroczono maksymalny limit czasu operacji (przesyłania, pobierania, usuwania 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 |
Użytkownik anulował operację. |
storage/invalid-event-name |
Podano nieprawidłową nazwę zdarzenia. Musi to być jedna z tych wartości: [running, progress, pause] |
storage/invalid-url |
Podano nieprawidłowy adres URL do refFromURL(). Musi mieć postać: gs://bucket/object lub https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> |
storage/invalid-argument |
Argument przekazany do put() musi być tablicą File, Blob lub UInt8. Argument przekazany do putString() musi być ciągiem w formacie surowym, Base64 lub Base64URL string. |
storage/no-default-bucket |
W konfiguracji nie ustawiono zasobnika w właściwości storageBucket. |
storage/cannot-slice-blob |
Zwykle występuje, gdy plik lokalny został zmieniony (usunięty, ponownie zapisany itp.). Spróbuj przesłać ponownie po sprawdzeniu, czy plik nie został zmieniony. |
storage/server-file-wrong-size |
Plik na kliencie nie jest zgodny z rozmiarem pliku otrzymanego przez serwer. Spróbuj przesłać jeszcze raz. |