Transloadit
Tarifs
  • Téléversements de fichiers
  • Importation de fichiers
  • Traitement par lots
  • Encodage vidéo
  • Encodage audio
  • Traitement d’images
  • Traitement de documents
  • Intelligence artificielle
  • Filtrage et sécurité des fichiers
  • Catalogage de médias
  • Compression de fichiers
  • Évaluation de code
  • Exportation de fichiers
  • Smart CDN
  • Voir tous les services
  • Explorer les intégrations (English)
  • Explorer les démos interactives (English)
  • Uppy
  • TransloaditKit
  • SDK Android
  • SDK Node.js
  • SDK Python
  • SDK Ruby
  • SDK Go
  • SDK Java
  • SDK PHP
  • Zapier
  • Serveur MCP
  • Transloadit CLI
  • Terraform
  • Essentiels
  • Bonnes pratiques
  • FAQ
  • Robots
  • API
  • Formats
  • Créer votre première application
  • À propos de Transloadit
  • Comparatifs
  • Projets open source
  • Témoignages
  • Carrières (English)
  • Sécurité
  • Articles
  • Actus dev (English)
  • Astuces dev
  • Presse (English)
  • Recherche (English)
  • Études de cas
  • Solutions
  • Guides
  • Glossaire
  • Juridique (English)
  • Outils
  • Aider Coursera à former des millions de personnes dans le monde
  • Support Transloadit
  • Support open source
  • Accord de niveau de service (English)
EssentielsRobotsFAQAPIFormatsBonnes pratiques
Premiers pas
  • Vue d’ensemble
  • Ma première application
  • Enregistrer les fichiers de résultat
Sujets
  • Assembly Instructions
  • Assembly Variables
  • Évaluation dynamique
  • Templates
  • Webhooks
  • Informations d’identification pour les services tiers
  • Builtin Templates
  • Stratégies de redimensionnement
  • Assembly Execution Progress
  • Workspaces
  • Agents IA
  • Paramètre use avancé
  • Le paramètre ignore_errors
Kits de développement logiciel
  • Vue d’ensemble
  • SDK Android
  • Navigateurs
  • Convex
  • cURL
  • SDK Go
  • SDK Java
  • Serveur MCP
  • Formulaire multipart
  • SDK Node.js
  • SDK PHP
  • SDK Python
  • SDK Ruby
  • Terraform
  • TransloaditKit
  • Intégration Zapier
Migration
  • Guides de migration
  • Migrer de Cloudinary vers Transloadit
  • Migrer d’Uploadcare vers Transloadit
  • Migrer de Mux vers Transloadit
  • Migrer de Filestack vers Transloadit

Convex

transloadit/convex⁠

@transloadit/convex est un composant Convex qui permet d’utiliser Transloadit comme une fonctionnalité native. Il signe les options de téléversement côté serveur, vérifie les webhooks et stocke les résultats dans Convex pour que votre interface puisse se mettre à jour en temps réel.

Installer

npm i @transloadit/convex @uppy/core @uppy/transloadit

Configurer

  1. Enregistrez le composant :
// convex/convex.config.ts
import { defineApp } from 'convex/server'
import transloadit from '@transloadit/convex/convex.config'

const app = defineApp()
app.use(transloadit)

export default app
  1. Configurez l’authentification Convex⁠ pour votre application. Définissez les informations d’accès du serveur et le tokenIdentifier du seul utilisateur autorisé à essayer ce flux de téléversement. Récupérez cet identifiant depuis un contexte serveur de confiance et authentifié à l’aide de ctx.auth.getUserIdentity()⁠, et non à partir de données provenant du navigateur :
npx convex env set TRANSLOADIT_KEY 'YOUR_AUTH_KEY'
npx convex env set TRANSLOADIT_SECRET 'YOUR_AUTH_SECRET'
npx convex env set TRANSLOADIT_UPLOADER_TOKEN_IDENTIFIER 'YOUR_APPROVED_TOKEN_IDENTIFIER'
  1. N’exposez qu’une action de signature autorisée. Les wrappers makeTransloaditAPI du composant n’ajoutent aucun contrôle d’autorisation au niveau de l’application. Cet exemple n’accepte aucun paramètre du client et ne signe que le Job de redimensionnement ci-dessous, pour un seul téléversement attendu, avec une expiration au bout de cinq minutes :
// convex/transloadit.ts
import { Transloadit } from '@transloadit/convex'
import { ConvexError } from 'convex/values'
import { components } from './_generated/api'
import { action } from './_generated/server'

const transloadit = new Transloadit(components.transloadit)

export const createAssemblyOptions = action({
  args: {},
  handler: async (ctx) => {
    const identity = await ctx.auth.getUserIdentity()
    if (identity === null) {
      throw new ConvexError('Sign in to upload files.')
    }

    const allowedUploader = process.env.TRANSLOADIT_UPLOADER_TOKEN_IDENTIFIER
    if (!allowedUploader || identity.tokenIdentifier !== allowedUploader) {
      throw new ConvexError('Uploads are not enabled for this account.')
    }

    return transloadit.createAssemblyOptions(ctx, {
      steps: {
        resized: {
          use: ':original',
          robot: '/image/resize',
          width: 800,
        },
      },
      numExpectedUploadFiles: 1,
      // Whole-second UTC avoids ambiguity in API date parsing.
      expires: new Date(Date.now() + 5 * 60 * 1000).toISOString().replace(/\.\d{3}Z$/, 'Z'),
    })
  },
})

Pour une application multi-utilisateur, remplacez la liste d’autorisation limitée à un seul utilisateur par vos propres vérifications d’appartenance et de quota de téléversement avant la signature. Conservez les Instructions autorisées sur le serveur. Les requêtes de résultats et l’ingestion des webhooks nécessitent leurs propres contrôles d’accès ; consultez la documentation du composant sur le backend et les webhooks⁠.

Client Uppy

Passez le ConvexClient authentifié de votre application à cette fabrique. Configurez setAuth()⁠ sur le client avec votre fournisseur d’authentification avant de téléverser des fichiers. La fonction de rappel appelle l’action via ce client et renvoie son résultat { params, signature, fields } directement à Uppy :

// src/uploader.ts
import Uppy from '@uppy/core'
import Transloadit from '@uppy/transloadit'
import type { ConvexClient } from 'convex/browser'
import { api } from '../convex/_generated/api'

export function createUploader(convex: ConvexClient): Uppy {
  return new Uppy({
    restrictions: { maxNumberOfFiles: 1, allowedFileTypes: ['image/*'] },
  }).use(Transloadit, {
    waitForEncoding: true,
    assemblyOptions: () => convex.action(api.transloadit.createAssemblyOptions, {}),
  })
}

Utilisez l’instance Uppy renvoyée avec votre sélecteur de fichiers, puis appelez uppy.upload(). Les restrictions du sélecteur aident l’utilisateur à sélectionner un fichier ; l’action serveur contrôle l’autorisation et veille à ce que seul le Job de traitement autorisé soit exécuté. Suivez le guide Uppy pour les intégrations dans l’interface utilisateur.

Application de démonstration

Consultez la démonstration de bout en bout d’une galerie de mariage sur convex-demo.transload.it⁠ et le code source complet dans le dépôt GitHub⁠.

Page précédente ← NavigateursPage suivante cURL →
Contacter le support⁠

TransloaditVérification de l’état…

Produit

  • Services
  • Tarifs
  • Démos EN (English)
  • Outils
  • Sécurité
  • Support

Entreprise

  • À propos de Transloadit/Presse EN (English)
  • Blog/Carrières EN (English)
  • Comparatifs/Matrice de conformité EN (English)
  • Recherche EN (English)
  • Projets open source
  • Solutions
  • Pionniers du web

Documentation

  • Premiers pas
  • Transcodage
  • FAQ
  • API
  • Guides/Astuces dev
  • Formats pris en charge

Plus

  • État de la plateforme⁠
  • Forum de la communauté⁠
  • Uppy
  • tus⁠

© 2009–2026 Transloadit-II GmbH

Confidentialité EN (English)Conditions EN (English)Mentions légales EN (English)Marques déposées EN (English)Politique DMCA EN (English)
EnglishDeutschEspañolFrançaisPortuguês (Brasil)

Transloadit®, tus® et Uppy® sont des marques déposées de Transloadit-II GmbH aux États-Unis.