Executando verificação de segurança...
5

Como isso é feito em projetos reais?

Enviar imagens para o frontend é um problema que geralmente não resolvemos sozinhos.
O mais comum é usar um serviço como o AWS S3.

Nesse tipo de solução o seu banco de dados persiste uma referência da imagem (pode ser um link) que está armazenado no AWS S3.

sequenceDiagram
Front-->>Server: HTTP request
Server-->>Database: Query 
Database-)Server: Link da imagem
Server-)Front: Link da imagem
Front -->> S3: HTTP request 
S3 -) Front: Imagem/jpeg

Esse esquema tem algumas vantagens:

  • Evita a complexidade de ter que manusear imagens no seu backend.
  • Economiza processamento e memória do seu servidor
  • Economiza processamento e memória do seu banco de dados
  • Você pode usar todos os recursos do S3
    - Recursos de segurança
    - Integração automática com CDN, como o AWS CloudFront.

Em resumo:

Não desenvolva seu próprio serviço de imagens em um projeto real.
Já trabalhei em um projeto de uma plataforma de ensino.
Era tudo armazenado no S3. É seguro, confiável e escalável. Não tem opção melhor.

Carregando publicação patrocinada...