Gérer les erreurs pour Cloud Storage sur Flutter

Parfois, lorsque vous créez une application, les choses ne se passent pas comme prévu et une erreur se produit !

En cas de doute, interceptez l'exception levée par la fonction et voyez ce que le message d'erreur a à dire.

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}");
}

Gérer les messages d'erreur

Il existe un certain nombre de raisons pour lesquelles des erreurs peuvent survenir, notamment le fichier qui n'existe pas, l'utilisateur qui n'est pas autorisé à accéder au fichier souhaité ou l'utilisateur qui annule le téléchargement du fichier.

Pour diagnostiquer correctement le problème et gérer l'erreur, voici une liste complète de toutes les erreurs que notre client soulèvera et comment elles se sont produites.

Code Description
storage/unknown Une erreur inconnue est survenue.
storage/object-not-found Aucun objet n'existe à la référence souhaitée.
storage/bucket-not-found Aucun bucket n'est configuré pour Cloud Storage
storage/project-not-found Aucun projet n'est configuré pour Cloud Storage
storage/quota-exceeded Le quota de votre bucket Cloud Storage a été dépassé. Si vous bénéficiez du niveau gratuit, passez à un forfait payant. Si vous disposez d'un forfait payant, contactez l'assistance Firebase.
storage/unauthenticated L'utilisateur n'est pas authentifié, veuillez vous authentifier et réessayer.
storage/unauthorized L'utilisateur n'est pas autorisé à effectuer l'action souhaitée, vérifiez vos règles de sécurité pour vous assurer qu'elles sont correctes.
storage/retry-limit-exceeded La durée maximale d'une opération (téléchargement, téléchargement, suppression, etc.) a été dépassée. Essayez à nouveau de télécharger.
storage/invalid-checksum Le fichier sur le client ne correspond pas à la somme de contrôle du fichier reçu par le serveur. Essayez à nouveau de télécharger.
storage/canceled L'utilisateur a annulé l'opération.
storage/invalid-event-name Nom d'événement fourni non valide. Doit être l'un des [ running , progress , pause ]
storage/invalid-url URL non valide fournie à refFromURL() . Doit être de la forme : gs://bucket/object ou https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>
storage/invalid-argument L'argument passé à put() doit être File , Blob ou UInt8 Array. L'argument passé à putString() doit être une chaîne brute, Base64 ou Base64URL .
storage/no-default-bucket Aucun compartiment n'a été défini dans la propriété storageBucket de votre configuration.
storage/cannot-slice-blob Cela se produit généralement lorsque le fichier local a été modifié (supprimé, enregistré à nouveau, etc.). Essayez de télécharger à nouveau après avoir vérifié que le fichier n'a pas changé.
storage/server-file-wrong-size Le fichier sur le client ne correspond pas à la taille du fichier reçu par le serveur. Essayez à nouveau de télécharger.