Premium
Chunked uploads
Large files go straight to storage in chunks instead of travelling base64-encoded inside the create or update request.
Below a configurable threshold nothing changes — a small image is still embedded in the payload. Above it the browser uploads to S3 or a tus server, and the request carries only a reference the backend resolves on save.
Pages
| Page | What it covers |
|---|---|
| Installation | Adding habarico_enterprise.uploads |
| Configuration | Threshold, chunk size and storage settings |
| Provider selection | S3 multipart vs. tus |
| tus server setup | Running and securing a tus server |
| S3 temporary file cleanup | Removing abandoned uploads |
| Frontend contract | What the browser sends and when |
How it fits together
- The backend adds
options.uploadto the field schema — provider, threshold, chunk size. - UploadInput reads it and picks the path per file.
- A chunked upload finishes with an
upload_key; the serializer turns it into a stored file when the record is saved.
caution
Client-side resize and crop only apply to the base64 path. A file large enough to be chunked is uploaded untouched — see the caution on UploadInput.
See also
- UploadInput — the frontend side
- useUploadQueue — the queue behind it
- REST API reference — the
upload-initiate/upload-complete/upload-abortendpoints - File uploads — the path through these pages