Migrar do Uploadcare para a Transloadit
O Uploadcare combina uploads, entrega por CDN, grupos de arquivos e operações via URL. A Transloadit separa essas responsabilidades em Robots de upload/importação, Robots de processamento, Robots de exportação e entrega opcional por CDN. Faça um inventário das operações que você usa e mapeie as tarefas de processamento suportadas para Steps em um Template da Transloadit. Isso não substitui um por um todos os recursos do Uploadcare.
Mapa de migração
| Conceito do Uploadcare | Equivalente na Transloadit |
|---|---|
| Ferramenta de upload de arquivos | Uppy com a Transloadit ou outro SDK |
| URL de operação da CDN | Steps de Template, ou o Smart CDN com Robots compatíveis e um Step final /file/serve |
| Redimensionamento/recorte de imagens | 🤖/image/resize |
| Compressão de imagens | 🤖/image/optimize |
| Codificação de vídeo | 🤖/video/encode |
| Grupos de arquivos | Processe vários arquivos de entrada em uma única Assembly; mantenha os IDs de grupo persistentes e a ordenação na sua aplicação |
| Armazenamento | 🤖/s3/store ou outro Robot de exportação |
| Webhooks | Assembly Notifications |
Use dependências entre Steps para encaminhar arquivos entre tarefas de processamento, e não para substituir registros persistentes de grupos de arquivos. Assine as URLs do Smart CDN no seu backend e use um Template compatível separado para a entrega sob demanda.
Substitua o widget de upload
Para uploads no navegador, use o Uppy com o plugin da Transloadit. O Uppy oferece um seletor de arquivos, interface de arrastar e soltar, uploads retomáveis, fontes remotas e integração direta com a Transloadit.
Um fluxo típico do Uploadcare, em que os usuários fazem upload de uma imagem e recebem URLs de CDN transformadas, passa a ser assim:
- O navegador faz o upload pelo Uppy e referencia um Template salvo da Transloadit.
- O Template cria todas as variantes de que a sua aplicação precisa.
- A Transloadit notifica o seu backend com as URLs dos resultados.
- O seu backend armazena essas URLs no seu banco de dados.
Configure notify_url na requisição assinada da Assembly e verifique as assinaturas
das notificações recebidas. Para detectar a conclusão no navegador, ative o
waitForEncoding do Uppy; por padrão, ele só aguarda o upload.
Exemplo de Template
Este Template recebe um upload de imagem, cria um avatar quadrado em WebP, otimiza tanto o original
quanto o avatar e armazena os arquivos otimizados no S3. A otimização não tem parâmetro de formato e,
com progressive desativado, como aqui, retorna o original se o arquivo otimizado
for maior. Ativar progressive permite manter um resultado de otimização mesmo que
ele seja maior:
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"avatar": {
"use": ":original",
"robot": "/image/resize",
"width": 512,
"height": 512,
"resize_strategy": "fillcrop",
"format": "webp"
},
"optimized_original": {
"use": ":original",
"robot": "/image/optimize",
"result": true
},
"optimized_avatar": {
"use": "avatar",
"robot": "/image/optimize",
"result": true
},
"exported": {
"use": ["optimized_original", "optimized_avatar"],
"robot": "/s3/store",
"credentials": "YOUR_AWS_CREDENTIALS",
"path": "uploads/${unique_prefix}/${file.url_name}",
"url_prefix": "https://cdn.example.com/",
"acl": "bucket-default"
}
}
}
Configure as Credenciais de terceiros para o S3 e ajuste a sua CDN
para servir a raiz do bucket com acesso de leitura. url_prefix não cria uma CDN
nem concede acesso. acl: "bucket-default" não envia ACL de
objeto; configure o acesso pela política do bucket e pelo acesso de origem da CDN. Após
ASSEMBLY_COMPLETED, leia o original em results.optimized_original e o avatar em
results.optimized_avatar. Persista apenas as entradas com is_temp_url: false: a
exportação atualiza as URLs do Step que as produziu. As URLs temporárias da Transloadit expiram após
24 horas; consulte como salvar resultados de conversão.
Importe arquivos existentes do Uploadcare
Se você já tem URLs de CDN do Uploadcare no seu banco de dados, importe-as com 🤖/http/import:
{
"steps": {
"imported": {
"robot": "/http/import",
"url": "${fields.uploadcare_url}"
},
"preview": {
"use": "imported",
"robot": "/file/preview",
"result": true
},
"exported": {
"use": ["imported", "preview"],
"robot": "/s3/store",
"credentials": "YOUR_AWS_CREDENTIALS",
"path": "uploadcare-import/${unique_prefix}/${file.url_name}",
"acl": "bucket-default"
}
}
}
O Step de pré-visualização usa 🤖/file/preview (English) (beta); ele pode
retornar um ícone genérico de tipo de arquivo quando uma miniatura do conteúdo não está disponível.
Selecione valores autorizados de uploadcare_url no seu backend. Importar uma URL de
CDN transformada copia essa versão renderizada, não necessariamente o original. Você pode preencher
retroativamente apenas os arquivos referenciados ou passar um array de URLs autorizadas para
/http/import em um lote limitado. Mantenha um mapeamento de ID antigo para novo
local e verifique o acesso de entrega e a qualidade da saída antes de migrar as leituras. Este
Template de importação retorna os arquivos exportados em results.imported e
results.preview. Objetos privados do S3 exigem um download autorizado ou a CDN que
você configurou.
Lista de verificação
- Substitua o uso do widget do Uploadcare pelo Uppy e pelo plugin da Transloadit.
- Mapeie as operações de CDN que você usa para Steps de Template suportados.
- Exporte resultados duráveis para o seu provedor de armazenamento.
- Salve as URLs de armazenamento exportadas a partir das Assembly Notifications.
- Preencha retroativamente as URLs de CDN existentes do Uploadcare com
/http/import. - Mantenha as URLs antigas como alternativa até que todos os ativos importantes tenham resultados na Transloadit.