Solucionar erros do Cloud Storage no Flutter

Às vezes, quando você cria um app, as coisas não saem como planejado e um erro ocorre.

Em caso de dúvida, identifique a exceção gerada pela função e veja o que a mensagem de erro diz.

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}");
}

Solucionar mensagens de erro

Há diversos motivos pelos quais erros podem ocorrer, como um arquivo não existente, usuário sem permissão para acessar o arquivo desejado ou cancelamento do upload do arquivo por parte do usuário.

Para diagnosticar o problema corretamente e tratar o erro, veja uma lista completa de todos os erros que são informados por nosso cliente e como eles ocorrem.

Código Descrição
storage/unknown Ocorreu um erro desconhecido.
storage/object-not-found Nenhum objeto na referência desejada.
storage/bucket-not-found Nenhum bucket configurado para o Cloud Storage.
storage/project-not-found Nenhum projeto configurado para o Cloud Storage.
storage/quota-exceeded A cota do seu bucket do Cloud Storage foi excedida. Se você estiver usando o plano de preços do Spark, considere fazer upgrade para o plano de preços do Blaze de pagamento por uso. Se você já estiver usando o plano de preços do Blaze, entre em contato com o suporte do Firebase.

Importante: a partir de 1º de outubro de 2025, o plano de preços do Blaze será obrigatório para usar Cloud Storage, mesmo em buckets padrão.
storage/unauthenticated O usuário não está autenticado. Faça a autenticação e tente novamente.
storage/unauthorized O usuário não está autorizado a executar a ação desejada. Verifique se as regras de segurança estão corretas.
storage/retry-limit-exceeded O limite de tempo em uma operação (upload, download, exclusão etc.) foi excedido. Envie novamente.
storage/invalid-checksum O arquivo no cliente não corresponde à soma de verificação do arquivo recebido pelo servidor. Envie novamente.
storage/canceled O usuário cancelou a operação.
storage/invalid-event-name Nome inválido do evento fornecido. Precisa ser uma destas opções: [running, progress, pause]
storage/invalid-url URL inválido fornecido para refFromURL(). Precisa estar no formato gs://bucket/object ou https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>.
storage/invalid-argument O argumento transmitido a put() precisa ser File, Blob ou matriz UInt8. O argumento transmitido a putString() precisa ser uma string bruta, Base64 ou Base64URL.
storage/no-default-bucket Nenhum bucket foi definido na propriedade storageBucket da configuração.
storage/cannot-slice-blob Em geral, isso ocorre normalmente quando o arquivo local é alterado (excluído, salvo novamente etc.). Tente fazer o upload novamente após verificar que o arquivo não foi alterado.
storage/server-file-wrong-size O arquivo no cliente não corresponde ao tamanho do arquivo recebido pelo servidor. Envie novamente.