Soluciona errores de Cloud Storage en Flutter
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
A veces, el desarrollo de una app no va según lo planeado
y se producen errores.
Cuando tengas dudas, registra la excepción que arroja la función y revisa el mensaje de error.
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}");
}
Soluciona mensajes de error
Existen varios motivos por los cuales pueden ocurrir errores, como que el archivo no exista, que el usuario no tenga permiso para acceder o que se haya cancelado la carga del archivo.
Para que puedas diagnosticar el problema y solucionar el error de forma correcta, aquí te proporcionamos una lista completa de los errores que surgirán en nuestro cliente y de los motivos por los que ocurren.
Código |
Descripción |
storage/unknown |
Se produjo un error desconocido. |
storage/object-not-found |
No existe ningún objeto en la referencia deseada. |
storage/bucket-not-found |
No se configuró ningún bucket para Cloud Storage. |
storage/project-not-found |
No se configuró ningún proyecto para Cloud Storage. |
storage/quota-exceeded |
Se superó la cuota del bucket de Cloud Storage. Si tienes el plan de precios Spark, considera actualizar al plan de precios Blaze de pago por uso. Si ya tienes el plan de precios Blaze, comunícate con el equipo de Asistencia de Firebase.
Importante: A partir del 1 de octubre de 2025, el plan de precios Blaze será obligatorio para usar Cloud Storage, incluso los buckets predeterminados. |
storage/unauthenticated |
El usuario no se autenticó. Vuelve a intentarlo después de realizar la autenticación. |
storage/unauthorized |
El usuario no está autorizado para realizar la acción deseada. Consulta las reglas de seguridad para asegurarte de que sean correctas. |
storage/retry-limit-exceeded |
Se superó el límite de tiempo máximo permitido para una operación (de carga, descarga, eliminación, etc.). Vuelve a subirlo. |
storage/invalid-checksum |
El archivo del cliente no coincide con la suma de verificación del archivo que recibió el servidor. Vuelve a subirlo. |
storage/canceled |
El usuario canceló la operación. |
storage/invalid-event-name |
Se proporcionó un nombre de evento no válido. Debe ser uno de los siguientes: [running , progress , pause ]. |
storage/invalid-url |
Se proporcionó una URL no válida a refFromURL() . Debe tener el formato gs://bucket/object o https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> . |
storage/invalid-argument |
El argumento que se pase a put() debe ser un objeto File , Blob o un array UInt8 . El argumento que se pase a putString() debe ser una string sin procesar, Base64 o Base64URL . |
storage/no-default-bucket |
No se estableció ningún bucket en la propiedad storageBucket de tu configuración. |
storage/cannot-slice-blob |
Ocurre generalmente cuando hubo un cambio en el archivo local (se borró, se volvió a guardar, etc.) Vuelve a subirlo después de verificar que el archivo no haya cambiado. |
storage/server-file-wrong-size |
El archivo del cliente no coincide con el tamaño del archivo que recibió el servidor. Vuelve a subirlo. |
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-12 (UTC)
[null,null,["Última actualización: 2025-08-12 (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. |"]]