Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
A veces, las cosas no salen como las planeamos y ocurre un error.
Cuando tengas dudas, revisa el error que se generó y lee lo que dice el mensaje de error.
El siguiente código muestra la implementación de un controlador de errores personalizado que inspecciona el código y el mensaje de error que muestra Cloud Storage. Puedes agregar controladores de errores como este a diversos objetos que se usan en la API de Cloud Storage (por ejemplo, UploadTask y FileDownloadTask).
Kotlin
internalinnerclassMyFailureListener:OnFailureListener{overridefunonFailure(exception:Exception){valerrorCode=(exceptionasStorageException).errorCodevalerrorMessage=exception.message// test the errorCode and errorMessage, and handle accordingly}}
classMyFailureListenerimplementsOnFailureListener{@OverridepublicvoidonFailure(@NonNullExceptionexception){interrorCode=((StorageException)exception).getErrorCode();StringerrorMessage=exception.getMessage();// test the errorCode and errorMessage, and handle accordingly}}
Si comprobaste el mensaje de error y permites que Cloud Storage Security Rules tomes medidas al respecto, pero aun así no logras solucionarlo, visita la página de asistencia para pedir ayuda.
Soluciona mensajes de error
Existen varios motivos por los que pueden ocurrir errores, por ejemplo, que el archivo no exista, que el usuario no tenga permiso para acceder al archivo deseado o que se haya cancelado la carga del archivo.
A fin de diagnosticar el problema y administrar el error de manera adecuada, te brindamos una lista de todos los errores que puede presentar el cliente y la manera en que pueden ocurrir. Los códigos de error de esta tabla se definen en la clase StorageException como constantes de número entero.
Código
Motivo
ERROR_UNKNOWN
Ocurrió un error desconocido.
ERROR_OBJECT_NOT_FOUND
No existe ningún objeto en la referencia especificada.
ERROR_BUCKET_NOT_FOUND
No hay buckets configurados para Cloud Storage
ERROR_PROJECT_NOT_FOUND
No hay proyectos configurados para Cloud Storage
ERROR_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.
El usuario no se autenticó. Vuelve a intentarlo después de realizar la autenticación.
ERROR_NOT_AUTHORIZED
El usuario no está autorizado para realizar la acción solicitada. Consulta las reglas para asegurarte de que sean correctas.
ERROR_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 intentarlo.
ERROR_INVALID_CHECKSUM
El archivo del cliente no coincide con la suma de verificación del archivo que recibió el servidor. Vuelve a subirlo.
ERROR_CANCELED
El usuario canceló la operación.
Además, si intentas llamar a getReferenceFromUrl() con una URL no válida, se generará una IllegalArgumentException. El argumento del
método anterior debe tener el formato gs://bucket/object o
https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-05 (UTC)"],[],[],null,["\u003cbr /\u003e\n\nSometimes things don't go as planned and an error occurs.\n\nWhen in doubt, check the error returned and see what the error message says.\nThe following code shows a custom error handler implementation that inspects\nthe error code and error message returned by Cloud Storage. Such error\nhandlers can be added to various objects used in the Cloud Storage API (for\nexample, `UploadTask` and `FileDownloadTask`). \n\nKotlin \n\n```kotlin\ninternal inner class MyFailureListener : OnFailureListener {\n override fun onFailure(exception: Exception) {\n val errorCode = (exception as StorageException).errorCode\n val errorMessage = exception.message\n // test the errorCode and errorMessage, and handle accordingly\n }\n}https://github.com/firebase/snippets-android/blob/cc307b137a106d66a52fa6e9bee6f4f55dab9f76/storage/app/src/main/java/com/google/firebase/referencecode/storage/kotlin/StorageActivity.kt#L492-L498\n```\n\nJava \n\n```java\nclass MyFailureListener implements OnFailureListener {\n @Override\n public void onFailure(@NonNull Exception exception) {\n int errorCode = ((StorageException) exception).getErrorCode();\n String errorMessage = exception.getMessage();\n // test the errorCode and errorMessage, and handle accordingly\n }\n}https://github.com/firebase/snippets-android/blob/cc307b137a106d66a52fa6e9bee6f4f55dab9f76/storage/app/src/main/java/com/google/firebase/referencecode/storage/StorageActivity.java#L618-L625\n```\n\nIf you've checked the error message and have Cloud Storage Security Rules that allow your\naction, but are still struggling to fix the error, visit our\n[Support page](/support) and let us know how we can help.\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 all\nthe errors our client will raise, and how they can occur. Error codes in this\ntable are defined in the `StorageException` class as integer constants.\n\n| Code | Reason |\n|------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `ERROR_UNKNOWN` | An unknown error occurred. |\n| `ERROR_OBJECT_NOT_FOUND` | No object exists at the specified reference. |\n| `ERROR_BUCKET_NOT_FOUND` | No bucket is configured for Cloud Storage |\n| `ERROR_PROJECT_NOT_FOUND` | No project is configured for Cloud Storage |\n| `ERROR_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| `ERROR_NOT_AUTHENTICATED` | User is unauthenticated, please authenticate and try again. |\n| `ERROR_NOT_AUTHORIZED` | User is not authorized to perform the requested action, check your rules to ensure they are correct. |\n| `ERROR_RETRY_LIMIT_EXCEEDED` | The maximum time limit on an operation (upload, download, delete, etc.) has been excceded. Try again. |\n| `ERROR_INVALID_CHECKSUM` | File on the client does not match the checksum of the file received by the server. Try uploading again. |\n| `ERROR_CANCELED` | User canceled the operation. |\n\nAdditionally, attempting to call `getReferenceFromUrl()` with an invalid URL\nwill result in an `IllegalArgumentException` from being thrown. The argument to\nthe above method must be of the form `gs://bucket/object` or\n`https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=\u003cTOKEN\u003e`"]]