Manchmal laufen die Dinge nicht wie geplant und es kommt zu einem Fehler.
Überprüfen Sie im Zweifelsfall den zurückgegebenen Fehler und sehen Sie nach, was in der Fehlermeldung steht. Der folgende Code zeigt eine benutzerdefinierte Fehlerhandlerimplementierung, die den von Cloud Storage zurückgegebenen Fehlercode und die Fehlermeldung überprüft. Solche Fehlerhandler können zu 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-Speicher-Sicherheitsregeln haben, die Ihr Eingreifen zulassen, aber immer noch Schwierigkeiten haben, den Fehler zu beheben, besuchen Sie unsere Support-Seite und teilen Sie uns mit, wie wir Ihnen helfen können.
Behandeln Sie Fehlermeldungen
Es gibt eine Reihe von Gründen, warum Fehler auftreten können, einschließlich der Tatsache, dass die Datei nicht vorhanden ist, dass der Benutzer keine Berechtigung zum Zugriff auf die gewünschte Datei hat oder dass der Benutzer den Datei-Upload abgebrochen hat.
Um das Problem richtig zu diagnostizieren und den Fehler zu beheben, finden Sie hier eine vollständige Liste aller Fehler, die unser Kunde melden wird, und wie sie auftreten können. Fehlercodes in dieser Tabelle werden in der StorageException
Klasse als Ganzzahlkonstanten definiert.
Code | Grund |
---|---|
ERROR_UNKNOWN | Ein unbekannter Fehler ist aufgetreten. |
ERROR_OBJECT_NOT_FOUND | An 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 Cloud Storage-Bucket wurde überschritten. Wenn Sie sich im kostenlosen Tarif befinden, führen Sie ein Upgrade auf einen kostenpflichtigen Tarif durch. Wenn Sie einen kostenpflichtigen Plan haben, wenden Sie sich an den Firebase-Support. |
ERROR_NOT_AUTHENTICATED | Der Benutzer ist nicht authentifiziert. Bitte authentifizieren Sie sich und versuchen Sie es erneut. |
ERROR_NOT_AUTHORIZED | Der Benutzer ist nicht berechtigt, die gewünschte Aktion auszuführen. Überprüfen Sie Ihre Regeln, um sicherzustellen, dass sie korrekt sind. |
ERROR_RETRY_LIMIT_EXCEEDED | Das maximale Zeitlimit für einen Vorgang (Hochladen, Herunterladen, Löschen usw.) wurde überschritten. Versuchen Sie es erneut. |
ERROR_INVALID_CHECKSUM | Die Datei auf dem Client stimmt nicht mit der Prüfsumme der vom Server empfangenen Datei überein. Versuchen Sie es erneut. |
ERROR_CANCELED | Der Benutzer hat den Vorgang abgebrochen. |
Darüber hinaus führt der Versuch, getReferenceFromUrl()
mit einer ungültigen URL aufzurufen, dazu, dass eine IllegalArgumentException
ausgelöst wird. Das Argument für die obige Methode muss die Form gs://bucket/object
oder https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>
haben