Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
No desenvolvimento de um painel administrativo em Next.js 16 usando o App Router, uma dúvida comum é como otimizar o fluxo de upload de imagns. A abordagem mais prática que tenho visto é usar uma rota API própria para processar o upload, enviando a imagem para o Cloudinary e, após o sucesso, salvando a URL no banco de dados, como o Supabase.
Esse método tem a vantagem de manter o controle no backend, além de facilitar a implementação de validações e autenticação. Contudo, é importante ficar atento ao tempo de feedback para o usuário, pois o upload direto ao Cloudinary via assinatura pode ser mais rápido e reduzir a carga no seu servidor. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte.
Para quem busca uma experiência mais rápida, o uso do upload direto com assinatura assinada no Cloudinary pode diminuir o tempo de resposta e melhorar a DX. Já na minha experiência, a maior complexidade está na gestão de erros e na segurança das chaves de assinatura. Como vocês têm feito para equilibrar essa questão? Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
A adoção de uma estratégia híbrida, onde alguns uploads usam API route e outros direto ao Cloudinary, pode ser uma solução interessante dependendo do contexto. O que vocês acham, essa abordagem é viável na prática?
Boa, mas não esquece que o controle de erros no fluxo é essencial. Se a assinatura expirar ou o upload falhar, tem que ter rollback ou retries automáticos.
A minha maior preocupação com o upload direto é a segurança da assinatura. Se expor a chave de assinatura no frontend, pode abrir brechas. Por isso, prefiro passar pelo backend mesmo, assim controlo melhor.
Concordo com o esse comentário, o controle é importante. Mas também acho que o upload direto diminui bastante o tempo de feedback pro usuário, principalmente em conexões instáveis.
No meu time, a gente tenta sempre validar o tamanho e o tipo de arquivo antes do upload.