2
respostas

[DÚVIDA] Erro de CORS quando arquivo enviado tem mais de 2kb

Olá!

Estou enviando via angular uma string no formato base64 para minha api que está em spring, quando a string é gerada de uma imagem de até 2kb de tamanho, tudo funciona, quando tento enviar uma string de uma imagem mais pesada 15kb no console aparece erro de cors, as vezes erro 403 e as vezes 504. O que pode está acontecendo? Por que a imagem de 2kb passa e maior que isso dá vários tipos de erros? (Já fiz o ajuste no back e front para permitir arquivos maiores que 10MB mas como estou enviando string não sei o que pode ser)

2 respostas

Oi Deise,

O problema que você está enfrentando com o CORS e os erros 403/504 ao enviar strings base64 maiores que 2kb, provavelmente está relacionado ao tamanho da requisição HTTP.

Embora você tenha ajustado o back-end e o front-end para arquivos maiores, o envio de uma string base64, especialmente de imagens, pode gerar um payload muito grande, que pode exceder os limites de alguns servidores ou proxies intermediários. 🤔

O erro de CORS pode ocorrer porque o navegador, ao detectar uma requisição muito grande, pode abortá-la antes mesmo de chegar ao servidor, ou o servidor pode rejeitar a requisição por exceder seus limites de tamanho.

Os erros 403 e 504 podem indicar que a requisição foi rejeitada por questões de segurança ou que houve um timeout durante o processamento. 😜

Para saber mais: Entendendo o CORS - Documentação da Mozilla sobre o que é CORS e como ele funciona.

Continue explorando e aprofundando seus conhecimentos! 💪

Olá!

Troquei o processamento para o lado do spring, agora faço o upload da imagem para a api e ela converte a imagem em base64, localmente continua funcionando como quando a conversão do base64 era feita pelo front, mas quando faço o deploy ele continua dando erro de CORS + 504/403. Apenas imagens com menos de 2kb ele deixa passar.

Minha infra está na AWS, uso Docker + Fargate + ECS + Load Balancer, será que é alguma configuração da AWS?