Migrar de Uploadcare a Transloadit
Uploadcare combina subidas, entrega por CDN, grupos de archivos y operaciones por URL. Transloadit separa estos aspectos en Robots de subida/importación, Robots de procesamiento, Robots de exportación y entrega opcional por CDN. Haz un inventario de las operaciones que usas y asigna las tareas de procesamiento compatibles a Steps en un Template de Transloadit; esto no es un reemplazo uno a uno de todas las funciones de Uploadcare.
Mapa de migración
| Concepto de Uploadcare | Equivalente en Transloadit |
|---|---|
| Herramienta de subida de archivos | Uppy con Transloadit u otro SDK |
| URL de operación de CDN | Steps de Template, o Smart CDN con Robots compatibles y un Step /file/serve final |
| Redimensionado/recorte de imágenes | 🤖/image/resize |
| Compresión de imágenes | 🤖/image/optimize |
| Encoding de video | 🤖/video/encode |
| Grupos de archivos | Procesa varios archivos de entrada en una sola Assembly; conserva los IDs de grupo persistentes y el orden en tu aplicación |
| Almacenamiento | 🤖/s3/store u otro Robot de exportación |
| Webhooks | Assembly Notifications |
Usa las dependencias entre Steps para enrutar archivos entre tareas de procesamiento, no para reemplazar los registros persistentes de grupos de archivos. Firma las URL de Smart CDN en tu backend y usa un Template compatible aparte para la entrega bajo demanda.
Reemplaza el widget de subida
Para las subidas desde el navegador, usa Uppy con el Transloadit Plugin. Uppy te ofrece un selector de archivos, una interfaz de arrastrar y soltar, subidas reanudables, fuentes remotas e integración directa con Transloadit.
Un flujo típico de Uploadcare en el que los usuarios suben una imagen y reciben URL de CDN transformadas queda así:
- El navegador sube los archivos a través de Uppy y hace referencia a un Template de Transloadit guardado.
- El Template crea todas las variantes que tu aplicación necesita.
- Transloadit notifica a tu backend con las URL de los resultados.
- Tu backend guarda esas URL en tu base de datos.
Configura un notify_url en la solicitud firmada de Assembly y verifica las firmas de las notificaciones entrantes.
Para detectar la finalización desde el navegador, habilita waitForEncoding de Uppy; el valor predeterminado solo espera la subida.
Template de ejemplo
Este Template recibe la subida de una imagen, crea un avatar WebP cuadrado, optimiza tanto el
original como el avatar y almacena los archivos optimizados en S3. La optimización no tiene un
parámetro de formato y, con progressive deshabilitado como aquí, devuelve el original si el archivo
optimizado es más grande. Habilitar progressive permite conservar un resultado de optimización aunque sea más grande:
{
"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"
}
}
}
Configura las credenciales de terceros para S3 y ajusta tu CDN
para servir la raíz del bucket con acceso de lectura. url_prefix no crea un CDN ni otorga acceso.
acl: "bucket-default" no envía ninguna ACL de objeto; configura el acceso mediante
la política de tu bucket y el acceso de origen del CDN. Después de ASSEMBLY_COMPLETED, lee el original desde
results.optimized_original y el avatar desde results.optimized_avatar. Conserva solo las entradas
con is_temp_url: false: la exportación actualiza las URL del Step que las produce. Las URL temporales de Transloadit
expiran después de 24 horas; consulta guardar los resultados de conversión.
Importa los archivos existentes de Uploadcare
Si ya tienes URL de CDN de Uploadcare en tu base de datos, impórtalas con 🤖/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"
}
}
}
El Step de vista previa usa 🤖/file/preview (English) (beta); puede devolver un icono genérico
de tipo de archivo cuando no hay una miniatura del contenido disponible. Selecciona los valores autorizados de uploadcare_url
en tu backend. Importar una URL de CDN transformada copia esa variante, no necesariamente el original.
Puedes rellenar retroactivamente solo los archivos referenciados o pasar un array de URL autorizadas a /http/import para un
lote acotado. Mantén una correspondencia entre los IDs antiguos y las nuevas ubicaciones, y verifica el acceso de entrega y la calidad de salida
antes de cambiar las lecturas. Este Template de importación devuelve los archivos exportados en results.imported y
results.preview. Los objetos privados de S3 requieren una descarga autorizada o tu CDN configurado.
Lista de verificación
- Reemplaza el uso del widget de Uploadcare por Uppy y el Transloadit Plugin.
- Asigna las operaciones de CDN que usas a Steps de Template compatibles.
- Exporta los resultados duraderos a tu proveedor de almacenamiento.
- Guarda las URL de almacenamiento exportadas desde las Assembly Notifications.
- Rellena retroactivamente las URL de CDN de Uploadcare existentes con
/http/import. - Conserva las URL antiguas como respaldo hasta que todos los recursos importantes tengan resultados de Transloadit.