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 guarda cosa ha da dire 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 possono verificarsi errori, tra cui il file non esistente, l'utente che non dispone dell'autorizzazione per accedere al file desiderato o l'utente che annulla il caricamento del file.
Per diagnosticare correttamente il problema e gestire l'errore, ecco un elenco completo di tutti gli errori segnalati dal nostro cliente e il modo in cui si sono verificati.
Codice | Descrizione |
---|---|
storage/unknown | Si è verificato un errore sconosciuto. |
storage/object-not-found | Nessun oggetto esiste nel 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 sul tuo bucket Cloud Storage è stata superata. Se utilizzi il piano senza costi, passa a un piano a pagamento. Se hai un piano a pagamento, contatta il supporto Firebase. |
storage/unauthenticated | L'utente non è autenticato, autenticati 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, ecc.). Prova a caricare di nuovo. |
storage/invalid-checksum | Il file sul client non corrisponde al checksum del file ricevuto dal server. Prova a caricare di nuovo. |
storage/canceled | L'utente ha annullato l'operazione. |
storage/invalid-event-name | Nome evento fornito non valido. Deve essere uno tra [ running , progress , pause ] |
storage/invalid-url | URL non valido fornito a refFromURL() . 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 UInt8 Array. L'argomento passato a putString() deve essere una stringa grezza, Base64 o Base64URL . |
storage/no-default-bucket | Nessun bucket è stato impostato nella proprietà storageBucket della tua configurazione. |
storage/cannot-slice-blob | Si verifica comunemente quando il file locale è stato modificato (eliminato, salvato di nuovo, ecc.). Prova a caricare nuovamente dopo aver verificato che il file non sia cambiato. |
storage/server-file-wrong-size | Il file sul client non corrisponde alla dimensione del file ricevuto dal server. Prova a caricare di nuovo. |