Special inputs
File upload (fileUpload)
Lets users attach files. The element stores file metadata in the form data and can upload to a server through a data source.
| Property | What it does |
|---|---|
| Accepted types | Restrict extensions/MIME types per HTML accept rules (e.g. .pdf,image/*) |
| Max files | How many files may be attached; further uploads are blocked at the limit |
| Max file size (MB) | Oversized files are rejected before upload |
| Dropzone text | Caption of the drag-and-drop area — a short, action-clear call to action |
| Upload data source | Source that receives the file — a POST (or configured method) with FormData |
| Upload form field name | The FormData field name for the file (e.g. file) |
| Download data source / Delete data source | Sources for fetching and removing stored files; the file key is passed via the key field below |
| File key / name / size / type field | Field names in the server's file object (default: key, name, size, contentType) |
Without an upload data source, the file never leaves the browser
Only local metadata (name/size/type) is kept as the field's value — the field can look "filled in" while your backend never receives the actual bytes. Set Upload data source whenever the file must be stored server-side.
A few things worth knowing before you brief your developer:
- Uploads are always sent as
multipart/form-datawith a single field (its name is Upload form field name) — never JSON, never base64. Any Request body template configured on the upload source is ignored; only{placeholders}in its URL are used. - With Max files > 1, files upload as separate sequential requests, not one batch call.
- There's no upload progress percentage — only pending/ready/error per file — and no resumable/chunked upload.
- The field's value in the form result is whatever your endpoint's response contained (the File key / name / size / type field properties), never the file's bytes.
For the exact request/response JSON your backend must implement, see File upload requests in the developer docs.
Typical setup — CV upload:
- Name:
cvFile, Accepted types:.pdf, Max size:5 MB, Required: on. - Upload data source:
uploadDocument(a REST source configured by your developer).
Check with expressions:
visibleIf on "Continue" hint: isEmpty({cvFile})
len({attachments}) > 0 → at least one file attachedSignature pad (signaturePad)
A draw area for a handwritten signature (mouse or touch). The value is the signature image data, stored under the element's name and submitted with the form.
| Property | What it does |
|---|---|
| Pen / background color | Drawing style |
| Clear button | Lets the user retry |
| Required | Signature must be present before submit |
Use it at the end of agreements together with a Single checkbox ("I confirm the data is correct").
