A veces, cuando estás creando una aplicación, las cosas no salen según lo planeado y se produce un error.
En caso de duda, detecte la excepción lanzada por la función y vea qué dice 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}");
}
Manejar mensajes de error
Hay varias razones por las que pueden ocurrir errores, incluido el archivo que no existe, que el usuario no tenga permiso para acceder al archivo deseado o que el usuario cancele la carga del archivo.
Para diagnosticar adecuadamente el problema y manejar el error, aquí hay una lista completa de todos los errores que generará nuestro cliente y cómo ocurrieron.
Código | Descripción |
---|---|
storage/unknown | Un error desconocido ocurrió. |
storage/object-not-found | No existe ningún objeto en la referencia deseada. |
storage/bucket-not-found | No hay ningún depósito configurado para Cloud Storage |
storage/project-not-found | No hay ningún proyecto configurado para Cloud Storage |
storage/quota-exceeded | Se superó la cuota en su depósito de Cloud Storage. Si estás en el nivel sin costo, actualiza a un plan pago. Si tienes un plan pago, comunícate con el soporte de Firebase. |
storage/unauthenticated | El usuario no está autenticado, autentíquese e inténtelo nuevamente. |
storage/unauthorized | El usuario no está autorizado a realizar la acción deseada, verifique sus reglas de seguridad para asegurarse de que sean correctas. |
storage/retry-limit-exceeded | Se ha superado el tiempo máximo de una operación (carga, descarga, eliminación, etc.). Intente cargar nuevamente. |
storage/invalid-checksum | El archivo del cliente no coincide con la suma de comprobación del archivo recibido por el servidor. Intente cargar nuevamente. |
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 [ running , progress , pause ] |
storage/invalid-url | URL no válida proporcionada 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 pasado a put() debe ser File , Blob o UInt8 Array. El argumento pasado a putString() debe ser una cadena sin formato, Base64 o Base64URL . |
storage/no-default-bucket | No se ha configurado ningún depósito en la propiedad storageBucket de su configuración. |
storage/cannot-slice-blob | Suele ocurrir cuando el archivo local ha cambiado (eliminado, guardado nuevamente, etc.). Intente cargarlo nuevamente 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 recibido por el servidor. Intente cargar nuevamente. |