Fehler bei Cloud Storage unter Android beheben

Manchmal läuft es nicht wie geplant und es tritt ein Fehler auf.

Im Zweifelsfall sollten Sie den zurückgegebenen Fehler und die zugehörige Fehlermeldung prüfen. Der folgende Code zeigt eine benutzerdefinierte Fehlerbehandlungsfunktion, 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

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 geprüft haben und Cloud Storage Security Rules haben, die Ihre Aktion ermöglichen, aber immer noch Probleme bei der Behebung des Fehlers haben, besuchen Sie unsere Supportseite und teilen Sie uns mit, wie wir Ihnen helfen können.

Fehlermeldungen verarbeiten

Es gibt eine Reihe von Gründen, warum Fehler auftreten können, z. B. wenn die Datei nicht vorhanden ist, der Nutzer keine Berechtigung hat, auf die gewünschte Datei zuzugreifen, oder der Nutzer den Dateiupload abbricht.

Hier finden Sie eine vollständige Liste aller Fehler, die unser Client ausgibt, und Informationen dazu, wie sie auftreten können, damit Sie das Problem richtig diagnostizieren und den Fehler beheben können. Fehlercodes in dieser Tabelle sind in der Klasse StorageException als Integerkonstanten definiert.

Code Grund
ERROR_UNKNOWN Ein unbekannter Fehler ist aufgetreten.
ERROR_OBJECT_NOT_FOUND Unter der angegebenen 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 wurde überschritten. Für Cloud Storage for Firebase ist das Blaze-Preismodell (Pay as you go) erforderlich. Wenn Sie diesen Fehler in einem Projekt mit Spark-Preismodell erhalten, müssen Sie ein Upgrade auf das Blaze-Preismodell durchführen, um den Zugriff wiederherzustellen. Weitere Informationen finden Sie in den FAQs.
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 angeforderte 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. Bitte versuchen Sie es noch einmal.
ERROR_INVALID_CHECKSUM Die Datei auf dem Client stimmt nicht mit der Prüfsumme der vom Server empfangenen Datei überein. Versuche es noch einmal.
ERROR_CANCELED Der Nutzer hat den Vorgang abgebrochen.

Wenn Sie versuchen, getReferenceFromUrl() mit einer ungültigen URL aufzurufen, wird außerdem eine IllegalArgumentException ausgelöst. Das Argument für die oben genannte Methode muss das Format gs://bucket/object oder https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> haben.