Às vezes, quando você está criando um aplicativo, as coisas não saem como planejado e ocorre um erro!
Em caso de dúvida, capture a exceção lançada pela função e veja o que a mensagem de erro tem a dizer.
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}");
}
Lidar com mensagens de erro
Existem vários motivos pelos quais podem ocorrer erros, incluindo a inexistência do arquivo, o usuário não ter permissão para acessar o arquivo desejado ou o usuário cancelar o upload do arquivo.
Para diagnosticar adequadamente o problema e lidar com o erro, aqui está uma lista completa de todos os erros que nosso cliente irá levantar e como eles ocorreram.
Código | Descrição |
---|---|
storage/unknown | Ocorreu um erro desconhecido. |
storage/object-not-found | Nenhum objeto existe na referência desejada. |
storage/bucket-not-found | Nenhum bucket está configurado para o Cloud Storage |
storage/project-not-found | Nenhum projeto está configurado para o Cloud Storage |
storage/quota-exceeded | A cota do seu bucket do Cloud Storage foi excedida. Se você estiver no nível gratuito, atualize para um plano pago. Se você estiver em um plano pago, entre em contato com o suporte do Firebase. |
storage/unauthenticated | O usuário não está autenticado. Autentique-se e tente novamente. |
storage/unauthorized | O usuário não está autorizado a realizar a ação desejada, verifique suas regras de segurança para garantir que estão corretas. |
storage/retry-limit-exceeded | O limite máximo de tempo para uma operação (upload, download, exclusão, etc.) foi excedido. Tente fazer upload novamente. |
storage/invalid-checksum | O arquivo no cliente não corresponde à soma de verificação do arquivo recebido pelo servidor. Tente fazer upload novamente. |
storage/canceled | O usuário cancelou a operação. |
storage/invalid-event-name | Nome de evento inválido fornecido. Deve ser um de [ running , progress , pause ] |
storage/invalid-url | URL inválido fornecido para refFromURL() . Deve estar no formato: gs://bucket/object ou https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> |
storage/invalid-argument | O argumento passado para put() deve ser File , Blob ou UInt8 Array. O argumento passado para putString() deve ser uma string bruta, Base64 ou Base64URL . |
storage/no-default-bucket | Nenhum bucket foi definido na propriedade storageBucket da sua configuração. |
storage/cannot-slice-blob | Geralmente ocorre quando o arquivo local foi alterado (excluído, salvo novamente, etc.). Tente fazer upload novamente depois de verificar se 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. Tente fazer upload novamente. |