Skip to main content

POST Strategy

WIP

Simple presigned form uploads for small and medium files.

The POST strategy handles presigned form uploads (S3 POST policy style). Best for small to medium files when resumability isn't required.

Intent Shape

Your backend's createIntent should return this shape for POST uploads:

type PostIntent = {
  strategy: 'post'
  fileId: string
  url: string
  fields: Record<string, string>
  expiresAt?: string
}
type PostIntent = {
  strategy: 'post'
  fileId: string
  url: string
  fields: Record<string, string>
  expiresAt?: string
}

Behavior

  • Uploads the file via transport.postForm using the presigned URL and form fields.
  • Reports progress through the transport callback.
  • Not resumable — failure restarts from the beginning.
  • Simple and efficient for files under your size threshold.

When to Use

Use the POST strategy when:

  • Files are small to medium.
  • Resumability isn't required.
  • The backend supports S3-style presigned POST policies.
  • You want the simplest possible upload flow.