Gérer les erreurs pour Cloud Storage sur Flutter
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Il arrive parfois que les choses ne se passent pas comme prévu lors de la création d'une application et qu'une erreur se produise.
En cas de doute, détectez l'exception générée par la fonction et consultez le message d'erreur.
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
Plusieurs raisons peuvent expliquer ces erreurs : le fichier n'existe pas, l'utilisateur n'est pas autorisé à accéder au fichier souhaité ou il a annulé l'importation du fichier.
Pour diagnostiquer correctement le problème et gérer l'erreur, voici la liste complète de toutes les erreurs que notre client peut générer, ainsi que la façon dont elles se sont produites.
Code |
Description |
storage/unknown |
Une erreur inconnue s'est produite. |
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 utilisez le forfait Spark, envisagez de passer au forfait Blaze avec paiement à l'usage. Si vous disposez déjà du forfait Blaze, contactez l'assistance Firebase.
Important : À partir du 1er octobre 2025, le forfait Blaze sera obligatoire pour utiliser Cloud Storage, y compris les buckets par défaut. |
storage/unauthenticated |
L'utilisateur n'est pas authentifié. Veuillez l'authentifier et réessayer. |
storage/unauthorized |
L'utilisateur n'est pas autorisé à effectuer l'action souhaitée. Vérifiez que vos règles de sécurité sont correctes. |
storage/retry-limit-exceeded |
Le délai maximal pour une opération (importation, téléchargement, suppression, etc.) a été dépassé. Réessayez d'importer la vidéo. |
storage/invalid-checksum |
Le fichier sur le client ne correspond pas à la somme de contrôle du fichier reçu par le serveur. Réessayez d'importer la vidéo. |
storage/canceled |
L'utilisateur a annulé l'opération. |
storage/invalid-event-name |
Un nom d'événement non valide a été fourni. Doit être l'une des valeurs suivantes : [running , progress , pause ] |
storage/invalid-url |
URL non valide fournie à refFromURL() . Doit être au format gs://bucket/object ou https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> . |
storage/invalid-argument |
L'argument transmis à put() doit être un tableau File , Blob ou UInt8 . L'argument transmis à putString() doit être une chaîne brute, Base64 ou Base64URL . |
storage/no-default-bucket |
Aucun bucket 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.). Réessayez d'importer le fichier après avoir vérifié qu'il n'a pas été modifié. |
storage/server-file-wrong-size |
La taille du fichier sur le client ne correspond pas à celle du fichier reçu par le serveur. Réessayez d'importer la vidéo. |
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/25 (UTC).
[null,null,["Dernière mise à jour le 2025/07/25 (UTC)."],[],[],null,["\u003cbr /\u003e\n\nSometimes when you're building an app, things don't go as planned and an\nerror occurs!\n\nWhen in doubt, catch the exception thrown by the function\nand see what the error message has to say. \n\n final storageRef = FirebaseStorage.instance.ref().child(\"files/uid\");\n try {\n final listResult = await storageRef.listAll();\n } on FirebaseException catch (e) {\n // Caught an exception from Firebase.\n print(\"Failed with error '${e.code}': ${e.message}\");\n }\n\n| **Note:** By default, a Cloud Storage for Firebase bucket requires Firebase Authentication to perform any action on the bucket's data or files. You can change your Firebase Security Rules for Cloud Storage to [allow unauthenticated access for specific situations](/docs/storage/security/rules-conditions#public). However, for most situations, we strongly recommend [restricting access and setting up robust security rules](/docs/storage/security/get-started) (especially for production apps). Note that if you use Google App Engine and have a default Cloud Storage bucket with a name format of `*.appspot.com`, you may need to consider [how your security rules impact access to App Engine files](/docs/storage/gcp-integration#security-rules-and-app-engine-files).\n\nHandle Error Messages\n\nThere are a number of reasons why errors may occur, including the file\nnot existing, the user not having permission to access the desired file, or the\nuser cancelling the file upload.\n\nTo properly diagnose the issue and handle the error, here is a full list of\nall the errors our client will raise, and how they occurred.\n\n| Code | Description |\n|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `storage/unknown` | An unknown error occurred. |\n| `storage/object-not-found` | No object exists at the desired reference. |\n| `storage/bucket-not-found` | No bucket is configured for Cloud Storage |\n| `storage/project-not-found` | No project is configured for Cloud Storage |\n| `storage/quota-exceeded` | Quota on your Cloud Storage bucket has been exceeded. If you're on the Spark pricing plan, consider upgrading to the [pay-as-you-go Blaze pricing plan](/pricing). If you're already on the Blaze pricing plan, reach out to Firebase Support. **Important** : Starting October 1, 2025, the [Blaze pricing plan will be *required* to use Cloud Storage](/docs/storage/faqs-storage-changes-announced-sept-2024), even default buckets. |\n| `storage/unauthenticated` | User is unauthenticated, please authenticate and try again. |\n| `storage/unauthorized` | User is not authorized to perform the desired action, check your security rules to ensure they are correct. |\n| `storage/retry-limit-exceeded` | The maximum time limit on an operation (upload, download, delete, etc.) has been excceded. Try uploading again. |\n| `storage/invalid-checksum` | File on the client does not match the checksum of the file received by the server. Try uploading again. |\n| `storage/canceled` | User canceled the operation. |\n| `storage/invalid-event-name` | Invalid event name provided. Must be one of \\[`running`, `progress`, `pause`\\] |\n| `storage/invalid-url` | Invalid URL provided to `refFromURL()`. Must be of the form: `gs://bucket/object` or `https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=\u003cTOKEN\u003e` |\n| `storage/invalid-argument` | The argument passed to `put()` must be `File`, `Blob`, or `UInt8` Array. The argument passed to `putString()` must be a raw, `Base64`, or `Base64URL` string. |\n| `storage/no-default-bucket` | No bucket has been set in your config's `storageBucket` property. |\n| `storage/cannot-slice-blob` | Commonly occurs when the local file has changed (deleted, saved again, etc.). Try uploading again after verifying that the file hasn't changed. |\n| `storage/server-file-wrong-size` | File on the client does not match the size of the file received by the server. Try uploading again. |"]]