A volte, quando crei un'app, le cose non vanno come previsto e si verifica un errore.
In caso di dubbio, intercetta l'eccezione lanciata dalla funzione e controlla cosa dice il messaggio di errore.
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}");
}
Gestire i messaggi di errore
Esistono diversi motivi per cui potrebbero verificarsi errori, tra cui il fatto che il file non esista, che l'utente non abbia l'autorizzazione per accedere al file desiderato o che l'utente abbia annullato il caricamento del file.
Per diagnosticare correttamente il problema e gestire l'errore, di seguito è riportato un elenco completo di tutti gli errori che il nostro cliente solleva e di come si sono verificati.
Codice | Descrizione |
---|---|
storage/unknown |
Si è verificato un errore sconosciuto. |
storage/object-not-found |
Non esiste alcun oggetto al riferimento desiderato. |
storage/bucket-not-found |
Nessun bucket configurato per Cloud Storage |
storage/project-not-found |
Nessun progetto configurato per Cloud Storage |
storage/quota-exceeded |
La quota del bucket Cloud Storage è stata superata. Se utilizzi il piano tariffario Spark, valuta la possibilità di eseguire l'upgrade al piano tariffario Blaze di pagamento a consumo. Se utilizzi già il piano tariffario Blaze, contatta l'assistenza Firebase. Importante: a partire dal |
storage/unauthenticated |
L'utente non è autenticato. Effettua l'autenticazione e riprova. |
storage/unauthorized |
L'utente non è autorizzato a eseguire l'azione desiderata. Controlla le regole di sicurezza per assicurarti che siano corrette. |
storage/retry-limit-exceeded |
È stato superato il limite di tempo massimo per un'operazione (caricamento, download, eliminazione e così via). Riprova a caricare il video. |
storage/invalid-checksum |
Il file sul client non corrisponde al checksum del file ricevuto dal server. Riprova a caricare il video. |
storage/canceled |
L'utente ha annullato l'operazione. |
storage/invalid-event-name |
Il nome dell'evento fornito non è valido. Deve essere uno di [running , progress , pause ] |
storage/invalid-url |
L'URL fornito a refFromURL() non è valido. Deve essere nel formato: gs://bucket/object o https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> |
storage/invalid-argument |
L'argomento passato a put() deve essere File , Blob o un array UInt8 . L'argomento passato a putString() deve essere una stringa non elaborata, Base64 o Base64URL . |
storage/no-default-bucket |
Non è stato impostato alcun bucket nella proprietà storageBucket della configurazione. |
storage/cannot-slice-blob |
Si verifica di solito quando il file locale è stato modificato (eliminato, salvato di nuovo e così via). Prova a eseguire nuovamente il caricamento dopo aver verificato che il file non sia cambiato. |
storage/server-file-wrong-size |
Le dimensioni del file sul client non corrispondono a quelle del file ricevuto dal server. Riprova a caricare il video. |