Points clés à retenir
- Utilisez une Assembly pour recevoir un fichier téléversé, le valider, créer des sorties fixes et exporter les originaux ou les dérivés sélectionnés vers S3.
- Utilisez des Templates distincts pour le téléversement seul, les images et les vidéos, afin que chaque type de média accepté dispose d’un contrat explicite de traitement et de gestion des échecs.
- Utilisez le Smart CDN pour importer un objet S3 existant via un Template enregistré, le transformer en l’absence de résultat en cache et mettre en cache le résultat servi.
Une demande de « téléversement de fichiers, optimisation d’images, encodage vidéo et utilisation de notre propre bucket S3 » recouvre plusieurs contrats. Un fichier téléversé peut être stocké sans modification, une image peut être optimisée avant l’export ou une vidéo peut être encodée en un rendu testé. Certaines dimensions ou certains formats d’images coûtent moins cher à créer uniquement lorsqu’un navigateur les demande. Transloadit prend en charge chaque parcours, mais leurs périmètres de stockage, de latence, de cache et de sécurité diffèrent.
L’essentiel
- Conservez les informations d’identification AWS dans des ensembles d’informations d’identification de Template à portée limitée et générez l’autorisation de téléversement ou d’accès au Smart CDN sur un serveur de confiance.
- Considérez S3 comme le système de référence durable, et non comme une preuve que les octets des fichiers ne transitent jamais par l’infrastructure de traitement et de cache de Transloadit.
- Prétraitez les sorties qui doivent exister avant la publication ; utilisez des variantes à la demande aux paramètres bornés lorsque la demande de dérivés est imprévisible.
- Stockez les originaux, les dérivés fixes ou les deux selon les exigences de récupération et de migration de l’application.
Séparer les traitements lors du téléversement des traitements lors de la requête
Commencez par deux parcours plutôt que par un vague « pipeline d’optimisation ». Dans le parcours de téléversement, un navigateur envoie un fichier via Uppy et tus à une Assembly Transloadit. Le Template enregistré valide le fichier observé, crée toutes les sorties qui doivent exister immédiatement et exporte les fichiers sélectionnés vers S3. L’application stocke l’identifiant d’Assembly et l’identité de l’objet S3 durable dans l’enregistrement de la ressource.
Dans le parcours de requête, un navigateur demande une URL du Smart CDN. L’URL identifie un Template enregistré et un chemin d’entrée dans S3. En l’absence de résultat en cache, Transloadit importe cet objet, applique le Template avec les Assembly Variables autorisées et sert un résultat via /file/serve. La couche de diffusion met la réponse en cache ; une requête sur un cache chaud peut réutiliser le dérivé sans relancer la transformation.
Parcours de téléversement
Navigateur → Uppy/tus → Assembly → validation et transformations fixes → S3 du client.
Parcours de requête
Navigateur → URL du Smart CDN → absence de résultat en cache → import depuis S3 et transformation → cache en périphérie → navigateur.
Périmètre de propriété
Le stockage S3 du client contient les objets durables de l’application ; les fichiers de traitement temporaires et les dérivés mis en cache ont des contrats de conservation distincts.
Stocker un fichier téléversé dans S3 sans le transformer
Utilisez un Template de téléversement seul lorsque Transloadit doit recevoir et exporter le fichier accepté sans modifier les octets de son contenu multimédia. /upload/handle reçoit l’entrée et /s3/store sélectionne :original. Le chemin de destination utilise les Assembly Variables afin que les téléversements simultanés ne s’écrasent pas mutuellement, tout en conservant un nom de fichier d’origine reconnaissable et compatible avec les URL.
Les exemples nécessitent un bucket S3 privé avec Block Public Access activé et Object Ownership défini sur Bucket owner enforced (ACL désactivées). Utilisez des ensembles d’informations d’identification de Template pour une identité AWS dédiée dont l’accès est limité au bucket de destination et aux préfixes nécessaires, en suivant le guide de configuration S3 (English). Chaque export définit explicitement acl: "bucket-default" pour remplacer la valeur par défaut public-read de /s3/store et omettre l’en-tête ACL généré. Ne fournissez pas d’en-têtes ACL ou d’octroi d’autorisations ; acl: "private" envoie toujours une ACL et est incompatible avec cette configuration de bucket. L’accès reste contrôlé par les politiques du bucket et d’IAM : omettre l’en-tête ACL ne rend donc pas privé un bucket public. Définissez bucket_region sur la région AWS réelle du bucket pour éviter une recherche GetBucketLocation et retirer s3:GetBucketLocation de la politique IAM associée aux informations d’identification. Vérifiez l’accès S3 effectif indépendamment du paramètre du Robot.
{
"allow_steps_override": false,
"steps": {
":original": { "robot": "/upload/handle" },
"stored": {
"use": ":original",
"robot": "/s3/store",
"credentials": "my_s3_credentials",
"bucket_region": "us-east-1",
"acl": "bucket-default",
"path": "uploads/${unique_prefix}/${file.url_name}"
}
}
}Recevoir, valider, optimiser et exporter le fichier téléversé
Utilisez un Template d’image enregistré pour limiter ce que le code du navigateur peut demander. /upload/handle reçoit le fichier, /file/filter peut rejeter les fichiers dont les propriétés détectées ne respectent pas la politique, /image/resize crée un dérivé WebP fixe et /image/optimize réduit la taille de ce résultat. /s3/store exporte ensuite exactement les Steps désignés par sa valeur use. Configurez-le pour cibler uniquement optimized afin de stocker le dérivé, uniquement accepted_images afin de stocker l’original accepté, ou les deux afin de conserver les deux objets. preserve_meta_data est volontairement laissé à sa valeur par défaut true pour conserver les métadonnées de l’image, telles que les informations sur les droits d’auteur du photographe, au prix d’une légère augmentation de taille, même avec la priorité compression-ratio.
Uppy est la couche de téléversement dans le navigateur, pas la frontière d’autorisation. Laissez le plugin Transloadit demander au serveur applicatif des paramètres d’Assembly signés à courte durée de validité. Gardez allow_steps_override désactivé lorsque le navigateur ne doit pas remplacer les Steps enregistrés ni sélectionner une autre destination. Réutilisez la configuration du bucket privé, acl: "bucket-default" et la région AWS réelle du bucket définies dans l’exemple de téléversement seul. ${file.id} et ${unique_prefix} sont uniques pour chaque fichier exporté ; cet exemple d’image utilise ${file.id}, qui ne contient aucune barre oblique, afin que le segment central du chemin reste un seul composant. Il fournit ainsi des clés images/${file.id}/${file.url_name} prévisibles que le Smart CDN peut référencer, tandis que les exemples de téléversement et de vidéo utilisent ${unique_prefix} comme répertoire pour éviter les collisions. Comme ${file.id} est unique pour chaque fichier exporté, accepted_images et optimized correspondent à des clés différentes sous images/ ; le modèle de chemin partagé n’entraîne aucun écrasement. Enregistrez donc chaque clé exportée séparément dans l’état de l’application. Ne considérez le téléversement comme terminé pour le produit qu’après la réconciliation, par l’application, du résultat de l’Assembly et des clés S3 durables.
{
"allow_steps_override": false,
"steps": {
":original": { "robot": "/upload/handle" },
"accepted_images": {
"use": ":original",
"robot": "/file/filter",
"accepts": [["${file.mime}", "regex", "^(image/jpeg|image/png|image/gif|image/webp|image/avif)$"]],
"error_on_decline": true
},
"resized": {
"use": "accepted_images",
"robot": "/image/resize",
"resize_strategy": "fit",
"width": 1600,
"height": 1600,
"format": "webp"
},
"optimized": {
"use": "resized",
"robot": "/image/optimize",
"priority": "compression-ratio",
"preserve_meta_data": true
},
"stored": {
"use": ["accepted_images", "optimized"],
"robot": "/s3/store",
"credentials": "my_s3_credentials",
"bucket_region": "us-east-1",
"acl": "bucket-default",
"path": "images/${file.id}/${file.url_name}"
}
}
}Encoder une vidéo avant de la stocker dans S3
Utilisez un Template réservé aux vidéos lorsque l’objet S3 durable doit être une variante de lecture plutôt que la source téléversée. /video/encode lit :original et applique un préréglage testé. web/mp4/720p est un point de départ concret pour du MP4 1280×720, pas une recommandation universelle ; validez les dimensions de la source, la fréquence d’images, l’audio, les sous-titres, la qualité, la prise en charge par les appareils, le temps de traitement et le coût au regard des exigences de lecture du produit.
L’exemple exporte le Step encoded et exclut la source de cette opération de stockage. Ajoutez un second Step /s3/store lorsque la source doit rester disponible pour un réencodage de meilleure qualité, un audit ou une migration. L’encodage peut se poursuivre au-delà de la durée d’une requête applicative ; réconciliez donc l’Assembly Status ou un callback de fin vérifié avant de considérer la clé S3 comme publiable.
{
"allow_steps_override": false,
"steps": {
":original": { "robot": "/upload/handle" },
"encoded": {
"use": ":original",
"robot": "/video/encode",
"preset": "web/mp4/720p"
},
"stored": {
"use": "encoded",
"robot": "/s3/store",
"credentials": "my_s3_credentials",
"bucket_region": "us-east-1",
"acl": "bucket-default",
"path": "videos/${unique_prefix}/${file.url_name}"
}
}
}Transformer un original S3 à la demande via le Smart CDN
Une intégration du Smart CDN commence elle aussi par un Template enregistré. /s3/import résout le chemin d’entrée à l’aide d’ensembles d’informations d’identification de Template à portée limitée, /image/resize lit la valeur ${fields.w} fournie par l’URL et la valeur ${browser.wanted_image_format} négociée pour la requête, et /file/serve sélectionne la réponse. Un nœud périphérique du Smart CDN peut fournir un en-tête x-tl-image-format fiable et prénormalisé au lieu d’analyser à nouveau l’en-tête Accept du client. Référencez ${browser.wanted_image_format} dans les Instructions pour obtenir la valeur négociée avif, webp ou jpg.
Une URL telle que https://my-workspace.tlcdn.com/responsive-image/images/a8d3eeeb67479f11f8b091b04f6181ad/canoe.jpg?w=640 fournit images/a8d3eeeb67479f11f8b091b04f6181ad/canoe.jpg comme valeur implicite de ${fields.input} — le chemin après le nom du Template, sans barre oblique initiale — et 640 comme valeur de ${fields.w}. Cette entrée est la clé images/${file.id}/${file.url_name} enregistrée pour l’original durable accepted_images, que /s3/import lit pour le redimensionnement à la demande. Le dérivé optimisé est un objet distinct sous son propre préfixe ${file.id}. Comme les deux résultats ne partagent pas de répertoire, enregistrez chaque clé exportée dans l’état de l’application au lieu de déduire une clé à partir de l’autre ou de l’URL de la requête.
Conservez le préfixe images/ complet dans l’URL du Smart CDN ; ne l’ajoutez pas à nouveau dans le Template. Les valeurs des paramètres de requête du Smart CDN arrivent sous forme de chaînes de caractères ; la liste des largeurs autorisées les compare donc aux chaînes littérales "320" et "640". Une largeur sans correspondance prend la valeur de repli 1280. Séparer la correspondance des chemins de la liste des transformations autorisées facilite l’audit de l’objet S3 qui peut être lu et de la variante qui peut être demandée.
N’interpolez pas de chemin, de largeur, de qualité ou de format sans restriction au seul motif que ces valeurs peuvent être transmises dans un champ. Activez « Exiger une signature valide » sur ce Template enregistré du Smart CDN avant d’exposer son URL. Limitez l’ensemble d’informations d’identification S3 au préfixe prévu, faites autoriser l’accès par l’application de confiance et faites-lui rechercher la clé exportée dans l’enregistrement du fichier, puis signez une URL contenant cette clé exacte. La validation obligatoire des signatures est nécessaire pour rejeter les requêtes non signées visant d’autres objets sous ce préfixe. Le flux de travail exécuté au moment de la requête sélectionne ce Template enregistré via son URL Smart CDN au lieu d’accepter des Assembly Instructions soumises par le navigateur. Cet exemple n’utilise donc pas le paramètre allow_steps_override employé lors du téléversement. Utilisez la région AWS réelle du bucket, comme dans l’exemple consacré uniquement au téléversement. Validez les valeurs de transformation ou définissez leur correspondance dans le Template. Les consultations simples telles que ${fields.input} sont gratuites, tandis que les comparaisons, les opérations arithmétiques et les expressions ternaires relèvent de l’évaluation dynamique complexe : les expressions ternaires de largeur et de format de cet exemple invoquent /script/run et sont facturées chaque fois que le résultat est absent du cache. L’expression de format fait correspondre la valeur de repli jpg à null. Ainsi, les requêtes sans préférence pour un format moderne conservent le format d’origine au lieu de supprimer la transparence ou l’animation par un réencodage inutile. Consultez l’entrée ${browser.wanted_image_format} dans la référence des Assembly Variables. Mesurez séparément la première transformation sans cache et la diffusion ultérieure depuis le cache.
Créez un ensemble distinct d’informations d’identification de Template nommé my_s3_image_read_credentials pour une identité AWS dédiée disposant d’un accès en lecture seule aux objets, limité au préfixe images/ du bucket. Conservez my_s3_credentials pour les exports lors du téléversement. Les consignes relatives aux autorisations de /s3/import (English) exigent également s3:ListBucket sur le bucket lui-même. Définissez bucket_region sur la région AWS réelle du bucket ; cela évite la recherche de localisation et vous permet d’omettre s3:GetBucketLocation.
{
"steps": {
"imported": {
"robot": "/s3/import",
"credentials": "my_s3_image_read_credentials",
"bucket_region": "us-east-1",
"path": "${fields.input}"
},
"resized": {
"use": "imported",
"robot": "/image/resize",
"resize_strategy": "fit",
"width": "${fields.w === '320' ? 320 : fields.w === '640' ? 640 : 1280}",
"format": "${browser.wanted_image_format === 'jpg' ? null : browser.wanted_image_format}"
},
"served": {
"use": "resized",
"robot": "/file/serve",
"cache_duration": 604800
}
}
}Décider quoi stocker durablement et quoi générer à la demande
Conserver un original dans S3 fournit une source stable pour les traitements ultérieurs, sans imposer de stocker chaque rendu adapté aux différentes tailles d’écran. Exportez les sorties de référence dont le produit a besoin indépendamment d’un cache : un master approuvé, une image de fiche produit sur une place de marché, un fichier destiné à l’impression ou un dérivé immuable d’une version publiée. Laissez le Smart CDN créer des variantes de présentation aux limites définies, dont les dimensions dépendent de l’appareil à l’origine de la requête ou de la mise en page.
À l’inverse, ne vous reposez pas uniquement sur un traitement à la demande lorsque la première requête ne peut pas tolérer la latence du traitement, qu’un responsable éditorial doit approuver les pixels exacts ou que les systèmes en aval exigent un objet durable avant publication. Dans ce cas, créez et exportez le dérivé dans l’Assembly exécutée lors du téléversement. Une même application peut utiliser les deux approches pour différentes catégories de sorties sans changer le système qui reste propriétaire de la source.
Originaux durables
Conservez les sources nécessaires aux transformations futures, à la récupération, à l’audit ou à la migration.
Dérivés fixes
Stockez les sorties qui doivent être examinées, référencées par d’autres systèmes ou disponibles sans transformation à froid.
Dérivés à la demande
Mettez en cache des variantes de présentation sûres dont les combinaisons sont limitées, mais difficiles à prévoir avant qu’un utilisateur ne les demande.
Protéger l’application, le bucket et les possibilités de transformation exposées
Créez des ensembles distincts d’informations d’identification de Template selon le principe du moindre privilège lorsque les exports lors du téléversement et les imports du Smart CDN nécessitent des actions AWS ou des préfixes différents. Gardez les clés AWS brutes, l’Auth Secret de Transloadit et les Instructions sans restriction hors des bundles destinés au navigateur. Le serveur de l’application devrait autoriser l’utilisateur, sélectionner le Template et ne délivrer que les paramètres de téléversement à courte durée de validité ou l’URL signée du Smart CDN adaptés au fichier concerné.
Un téléversement réussi ou une signature valide ne vaut pas approbation de publication. Validez le type MIME détecté et la taille dans l’Assembly, associez les callbacks de manière idempotente au tenant et à l’Assembly attendus, et n’exposez un résultat qu’à partir du moment où l’objet durable et l’enregistrement de l’application concordent. Pour le Smart CDN, concevez conjointement la gestion des versions des sources, l’expiration des URL, la durée de vie du cache et la suppression, afin que le remplacement d’une clé S3 ne puisse pas laisser active une adresse de dérivé non souhaitée.
Comparer avec un pipeline AWS natif
Une architecture native peut téléverser via une URL présignée S3, réagir aux événements de création d’objets, traiter les fichiers avec Lambda ou un autre service de calcul, stocker les dérivés et les diffuser via un CDN. Elle peut être bien adaptée lorsque la charge de travail reste dans les limites prises en charge par l’environnement d’exécution et que l’équipe souhaite gérer elle-même les autorisations, les nouvelles tentatives, les files d’attente, les codecs, la concurrence, l’observabilité et la reprise après incident.
Comparez des chaînes complètes en production plutôt qu’un seul redimensionnement réussi. Testez les téléversements interrompus, les sources volumineuses, les images mal formées, l’orientation et la couleur, les événements dupliqués, les exports partiels, les pics de concurrence, les transformations à froid, l’invalidation du cache, la latence régionale et la suppression. Incluez le temps de développement et d’exploitation en plus des frais de téléversement, de traitement, de stockage, de requêtes et de transfert sortant. Le choix déterminant porte sur les responsabilités opérationnelles que l’équipe souhaite assumer.
Détails techniques à connaître
- Le plugin Transloadit d’Uppy crée une Assembly et téléverse les fichiers vers son point de terminaison tus, tandis que le code de l’application peut demander des paramètres d’Assembly signés à un backend de confiance.
- Un Template d’Assembly peut relier
/upload/handle, des Steps de validation ou de transformation et/s3/store; les relationsusedéterminent si l’original, les dérivés ou les deux sont exportés. /image/optimizepeut réduire les fichiers image pris en charge avant/s3/store, tandis que les types d’images non pris en charge passent sans modification./video/encodeaccepte des préréglages tels queweb/mp4/720p; le résultat encodé du Step peut être exporté vers S3 indépendamment de la source téléversée.- Les ensembles d’informations d’identification de Template stockent les informations d’identification AWS séparément des Assembly Instructions et sont référencés par leur nom depuis les Templates enregistrés.
- Fournir
bucket_regionévite la rechercheGetBucketLocationet permet d’omettres3:GetBucketLocationdans la politique IAM des ensembles d’informations d’identification de Template. - Une URL du Smart CDN identifie un Workspace, un Template, un chemin d’entrée et des champs d’URL facultatifs. Le chemin d’entrée est accessible au Template sous la forme de
${fields.input}. En l’absence de résultat en cache, le Template s’exécute et/file/servefournit la réponse que la couche de diffusion met en cache. - Un Template du Smart CDN peut utiliser
/s3/importpour lire un objet depuis un stockage S3 appartenant au client,/image/resizepour le transformer et/file/servepour renvoyer la version dérivée sélectionnée. - Pour les requêtes du Smart CDN, les paramètres de requête de l’URL alimentent
${fields.*}, tandis que le chemin après le nom du Template devient la valeur implicite de${fields.input}. Ce mécanisme diffère des champs de formulaire fournis lors du téléversement et de la cléfieldsde l’Assembly. Le Template détermine les valeurs qu’il lit, mais chacune nécessite tout de même une validation, une mise en correspondance ou une autorisation au moyen d’une URL signée. - Le stockage temporaire des résultats de Transloadit n’est pas un stockage applicatif permanent. Les résultats temporaires sont normalement conservés pendant 24 heures. Sélectionner « Ne pas enregistrer » peut empêcher le stockage de nouveaux résultats, mais ne supprime pas immédiatement les objets R2 existants. Les fichiers déjà stockés dans R2 restent soumis à son cycle de vie minimal de 24 heures. Les flux de travail de production devraient exporter chaque objet qui doit être conservé.
- Une version dérivée mise en cache par le Smart CDN est distincte de l’original conservé durablement dans S3. Le remplacement de la source, le versionnement des URL, l’expiration des signatures et la durée de vie du cache doivent être conçus ensemble.
Une approche pratique
- 1
Cartographiez les parcours de téléversement, de traitement, de stockage et de diffusion, en précisant à qui appartient chaque objet durable et chaque URL publique.
- 2
Créez des ensembles d’informations d’identification de Template limités aux privilèges minimaux et des Templates enregistrés pour les traitements lors du téléversement et à la demande.
- 3
Testez les exports fixes, les absences de résultat dans le cache froid du Smart CDN, les résultats présents dans le cache chaud, les paramètres invalides, les sources remplacées et les serveurs d’origine indisponibles.
- 4
Enregistrez les identifiants d’Assembly et les versions stables des objets S3 dans l’application, puis surveillez séparément les coûts de traitement, d’export, de cache et de diffusion.
Quand Transloadit est utile
Utilisez Transloadit lorsqu’un même produit a besoin de téléversements avec Uppy et tus, de flux de traitement asynchrones d’images ou de vidéos, d’exports vers son propre bucket S3 et, en option, de variantes d’images pilotées par URL via le Smart CDN. Utilisez uniquement les composants dont l’application a besoin : une Assembly peut conserver un fichier téléversé, prétraiter et exporter des ressources multimédias fixes, tandis qu’un Template du Smart CDN peut importer une image originale depuis S3 et créer à la demande un dérivé aux paramètres bornés, restreints à une liste explicite de valeurs autorisées.
Périmètre architectural
Votre application gère l’autorisation des utilisateurs, les enregistrements des ressources, la politique de publication et les copies durables dans S3. Transloadit reçoit ou importe les fichiers, conserve temporairement les données pendant le traitement, exécute le flux de traitement enregistré, exporte les résultats sélectionnés et peut mettre en cache les dérivés du Smart CDN. Un stockage appartenant au client ne signifie donc pas que les octets restent exclusivement dans son compte AWS.
Questions fréquentes
L’utilisation de mon propre bucket S3 garde-t-elle chaque octet dans mon compte AWS ?
Non. S3 peut rester le système de référence durable, mais les téléversements, les originaux importés, les résultats temporaires et les dérivés du Smart CDN transitent par l’infrastructure de Transloadit selon le flux de travail configuré. Les résultats temporaires sont normalement conservés pendant 24 heures. Sélectionner « Ne pas enregistrer » peut empêcher le stockage de nouveaux résultats, mais ne supprime pas immédiatement les objets R2 existants. Les fichiers déjà stockés dans R2 restent soumis à son cycle de vie minimal de 24 heures. La conservation de l’Assembly Status JSON se configure séparément, avec des options allant de « Ne pas enregistrer » à 90 jours ; la valeur par défaut est de 90 jours. Conserver le Status JSON ne transforme pas les fichiers de résultats temporaires en stockage durable. Le Smart CDN met en cache séparément les résultats servis.
Dois-je stocker le média original, les dérivés traités ou les deux ?
Exportez l’original lorsqu’il est nécessaire pour un retraitement, un audit ou une migration vers un autre fournisseur. Exportez les dérivés fixes lorsqu’ils doivent exister avant la publication ou faire l’objet d’un examen. Vous pouvez exporter les deux en fournissant à /s3/store les deux Steps comme entrée use.
Un même Template S3 peut-il traiter des images et des vidéos ?
Utilisez des Templates enregistrés distincts lorsque les images et les vidéos ont des politiques différentes de validation, de délai d’attente, de publication ou de gestion des échecs. Un Template conçu pour plusieurs types de médias peut créer des branches avec /file/filter, mais chaque branche devrait définir ce qui se passe lorsqu’elle refuse un fichier et quelles sorties /s3/store exporte.
Le Smart CDN est-il un système de traitement distinct des Assemblies ?
Non. Une Assembly exécutée lors du téléversement et une requête Smart CDN utilisent le même modèle d’exécution fondé sur les Templates et les Robots, même si chaque parcours définit son propre Template. Le parcours de téléversement s’exécute à l’arrivée des octets et peut exporter des résultats durables. Le parcours Smart CDN exécute son Template en l’absence de résultat en cache et sert un résultat sélectionné via /file/serve.
Quand dois-je prétraiter plutôt que transformer à la demande ?
Prétraitez les ressources qui nécessitent une approbation, une disponibilité déterministe, plusieurs sorties durables ou une latence prévisible au premier affichage. Transformez à la demande lorsque les dimensions demandées sont difficiles à prévoir et qu’un ensemble borné de variables d’URL peut exprimer les variantes sûres. De nombreuses applications prétraitent une image canonique et créent à la demande les dimensions d’affichage.
Comment accorder à Transloadit l’accès à un bucket S3 privé ?
Stockez les informations d’identification AWS dans des ensembles d’informations d’identification de Template limités aux privilèges minimaux, référencez leur nom depuis un Template enregistré et empêchez les navigateurs de fournir des Assembly Instructions ou des destinations de stockage arbitraires. Signez les paramètres de téléversement et les URL protégées du Smart CDN sur un serveur de confiance.
Dois-je utiliser Transloadit pour utiliser Uppy ?
Non. Uppy est un logiciel de téléversement open source et peut utiliser de nombreux backends. Le plugin Transloadit, activement maintenu, offre une intégration directe lorsque les téléversements doivent créer une Assembly, utiliser le transfert tus et rendre compte de la progression du traitement ou de ses résultats.