tus

Resumable uploads over the tus protocol.

tus is an open protocol for resumable uploads, supported by tusd, @tus/server, Supabase Storage, Cloudflare Stream, Vimeo and others. UploadCN wraps the reference client, tus-js-client, rather than reimplementing the protocol.

npm install tus-js-client
import { tusAdapter } from "@uploadcn/core/tus"

const adapter = tusAdapter({
  endpoint: "https://tusd.example.com/files/",
  chunkSize: 8 * 1024 * 1024,
  headers: async () => ({ authorization: `Bearer ${await getToken()}` }),
  metadata: { bucket: "videos" },
})

The engine stores the tus upload URL as resume state, so it works with IndexedDB persistence across reloads (tus-js-client's own localStorage fingerprinting is turned off). Cancelling an upload sends a tus termination request.

Prop

Type