Soluciona errores de Cloud Storage en Flutter

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 estás en el nivel sin costo, deberás actualizar a un plan pagado. Si estás en un plan pagado, comunícate con el personal de asistencia de Firebase.
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.