A volte le cose non vanno come previsto e si verifica un errore.
In caso di dubbio, controlla l'errore restituito e leggi il messaggio di errore.
Il seguente codice mostra un'implementazione di gestore degli errori personalizzato che controlla il codice e il messaggio di errore restituiti da Cloud Storage. Questo errore
è possibile aggiungere gestori a vari oggetti utilizzati nell'API Cloud Storage (ad
ad esempio UploadTask
e 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 } }
Se hai controllato il messaggio di errore e disponi di Cloud Storage Security Rules che consentono l'azione, ma continui a riscontrare difficoltà a correggere l'errore, visita la nostra pagina di assistenza e facci sapere come possiamo aiutarti.
Gestire i messaggi di errore
Esistono diversi motivi per cui possono verificarsi errori, tra cui il file non esiste, l'utente non dispone dell'autorizzazione per accedere al file desiderato o che l'utente annulla il caricamento del file.
Per diagnosticare correttamente il problema e gestirlo, ecco un elenco completo di tutte
quali errori vengono segnalati dal cliente e come possono verificarsi. Codici di errore in questo
sono definite nella classe StorageException
come costanti intere.
Codice | Motivo |
---|---|
ERROR_UNKNOWN |
Si è verificato un errore sconosciuto. |
ERROR_OBJECT_NOT_FOUND |
Non esiste alcun oggetto al riferimento desiderato. |
ERROR_BUCKET_NOT_FOUND |
Nessun bucket è configurato per Cloud Storage |
ERROR_PROJECT_NOT_FOUND |
Nessun progetto configurato per Cloud Storage |
ERROR_QUOTA_EXCEEDED |
La quota del bucket Cloud Storage è stata superata. Se disponi del livello senza costi aggiuntivi, esegui l'upgrade a un piano a pagamento. Se hai sottoscritto un piano a pagamento, contatta l'assistenza Firebase. |
ERROR_NOT_AUTHENTICATED |
Utente non autenticato, esegui l'autenticazione e riprova. |
ERROR_NOT_AUTHORIZED |
L'utente non è autorizzato a eseguire l'azione desiderata. Controlla le regole per assicurarti che siano corrette. |
ERROR_RETRY_LIMIT_EXCEEDED |
È stato superato il limite di tempo massimo per un'operazione (caricamento, download, eliminazione e così via). Riprova. |
ERROR_INVALID_CHECKSUM |
Il file sul client non corrisponde al checksum del file ricevuto dal server. Riprova a caricare il video. |
ERROR_CANCELED |
L'utente ha annullato l'operazione. |
Inoltre, il tentativo di chiamare getReferenceFromUrl()
con un URL non valido
comporterà il lancio di IllegalArgumentException
. L'argomento di
il metodo sopra indicato deve essere nel formato gs://bucket/object
oppure
https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>