O que é Uppy?
O Uppy é um componente de upload de arquivos de código aberto criado e mantido pela Transloadit. Sua interface modular para navegador oferece suporte a arquivos locais, câmeras, fontes remotas, transferências retomáveis e Assemblies da Transloadit.
Como o Uppy funciona
O Uppy organiza uploads no navegador em torno de um gerenciador central de estado e de um conjunto de plugins de origem, interface, pré-processamento e transporte. Uma aplicação pode apresentar um Dashboard composto ou criar uma interface personalizada sobre o mesmo estado de arquivos e progresso. Os plugins de transporte conectam esse estado a endpoints de uploads retomáveis ou a serviços gerenciados de processamento, enquanto os provedores remotos usam um componente auxiliar no lado do servidor. O Uppy ocupa a camada de ingestão no lado do cliente, antes da validação no backend e do processamento de mídia.
Informações essenciais
- O Uppy Core coordena IDs de arquivos, restrições, metadados, progresso e eventos de plugins; remover um Dashboard visível não remove o estado do upload nem o comportamento de transporte mantidos pelo Core.
- Os plugins de fontes remotas dependem do Companion para se comunicar com as APIs dos provedores sem expor as credenciais desses provedores no navegador, diferentemente dos arquivos selecionados diretamente no dispositivo do usuário.
- As integrações com tus e Transloadit têm responsabilidades diferentes:
@uppy/tusenvia bytes de forma retomável para qualquer endpoint tus, enquanto@uppy/transloaditcria Assemblies e normalmente faz uploads por meio do tus internamente, a menos queimportFromUploadURLsdelegue o upload a outro plugin. A conclusão do upload não é a conclusão do processamento: o Uppy só aguarda os resultados comwaitForEncoding, portanto, nos demais casos, usenotify_urlou consulte o status da Assembly.
Quando o Uppy é relevante
Escolha o Uppy quando uma aplicação precisar de seleção extensível de fontes e gerenciamento do estado dos uploads no navegador. É necessário verificar a compatibilidade dos plugins e do backend, pois nem toda fonte ou fluxo retomável usa a mesma integração.