Comprima imagens antes do envio
Use compresso.js no input: compress(file) retorna um File otimizado pronto para envio. As imagens não saem do navegador até seu código enviá-las.
Como funciona
- npm install compresso.js
- Chame compress(file, { quality: 0.8, maxWidth: 1920, format: "auto" }) no change.
- Envie result.file em vez do original.
Perguntas comuns
- Funciona com multipart?
- Sim. result.file é um File padrão para FormData.
- Precisa de backend?
- Não. Compressão 100% no cliente.