Manchmal läuft es nicht wie geplant und es tritt ein Fehler auf.
Prüfen Sie im Zweifelsfall den zurückgegebenen Fehler und sehen Sie sich an, was in der Fehlermeldung steht.
Im folgenden Code wird eine benutzerdefinierte Fehlerbehandlung implementiert, die den von Cloud Storage zurückgegebenen Fehlercode und die Fehlermeldung prüft. Solche Fehlerhandler können verschiedenen Objekten hinzugefügt werden, die in der Cloud Storage API verwendet werden (z. B. UploadTask
und FileDownloadTask
).
Kotlin+KTX
internal inner class MyFailureListener : OnFailureListener { override fun onFailure(exception: Exception) { val errorCode = (exception as StorageException).errorCode val errorMessage = exception.message // test the errorCode and errorMessage, and handle accordingly } }
Java
class MyFailureListener implements OnFailureListener { @Override public void onFailure(@NonNull Exception exception) { int errorCode = ((StorageException) exception).getErrorCode(); String errorMessage = exception.getMessage(); // test the errorCode and errorMessage, and handle accordingly } }
Wenn Sie die Fehlermeldung überprüft haben und Cloud Storage Security Rules für die Aktion haben, die Aktion aber weiterhin nicht ausgeführt werden kann, rufen Sie unsere Supportseite auf und teilen Sie uns mit, wie wir Ihnen helfen können.
Fehlermeldungen verarbeiten
Fehler können aus verschiedenen Gründen auftreten, nicht vorhanden ist, wenn der Nutzer keine Zugriffsberechtigung für die gewünschte Datei hat, oder Nutzer bricht den Dateiupload ab.
Damit Sie das Problem richtig diagnostizieren und beheben können, finden Sie im Folgenden eine vollständige Liste aller
die vom Kunden ausgegebenen Fehler
und wie sie auftreten können. Fehlercodes in dieser
werden in der StorageException
-Klasse als ganzzahlige Konstanten definiert.
Code | Grund |
---|---|
ERROR_UNKNOWN |
Ein unbekannter Fehler ist aufgetreten. |
ERROR_OBJECT_NOT_FOUND |
In der gewünschten Referenz ist kein Objekt vorhanden. |
ERROR_BUCKET_NOT_FOUND |
Für Cloud Storage ist kein Bucket konfiguriert |
ERROR_PROJECT_NOT_FOUND |
Für Cloud Storage ist kein Projekt konfiguriert |
ERROR_QUOTA_EXCEEDED |
Das Kontingent für Ihren Bucket Cloud Storage wurde überschritten. Wenn Sie die kostenlose Stufe nutzen, führen Sie ein Upgrade auf ein kostenpflichtiges Abo aus. Wenn Sie einen kostenpflichtigen Tarif haben, wenden Sie sich an den Firebase-Support. |
ERROR_NOT_AUTHENTICATED |
Der Nutzer ist nicht authentifiziert. Bitte authentifizieren Sie sich und versuchen Sie es noch einmal. |
ERROR_NOT_AUTHORIZED |
Der Nutzer ist nicht berechtigt, die gewünschte Aktion auszuführen. Überprüfen Sie Ihre Regeln auf ihre Richtigkeit. |
ERROR_RETRY_LIMIT_EXCEEDED |
Das maximale Zeitlimit für einen Vorgang (z. B. Upload, Download oder Löschen) wurde überschritten. Bitte versuchen Sie es noch einmal. |
ERROR_INVALID_CHECKSUM |
Die Datei auf dem Client stimmt nicht mit der Prüfsumme der Datei überein, die vom Server empfangen wurde. Versuchen Sie es noch einmal. |
ERROR_CANCELED |
Vorgang wurde vom Nutzer abgebrochen. |
Außerdem wird ein IllegalArgumentException
geworfen, wenn versucht wird, getReferenceFromUrl()
mit einer ungültigen URL aufzurufen. Das Argument für
Die Methode oben muss das Format gs://bucket/object
haben oder
https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>