File upload
Respondent file uploads. Renders a drag-and-drop dropzone (click to browse) showing the constraint summary — e.g. “PDF, DOC, DOCX · up to 2 files · 10 MB each” — plus your optional helper text. Uploads start immediately on selection with a progress bar and cancel button; failures show an inline message with a manual Retry (never auto-retried); uploaded rows show name and size with a remove button. An in-flight upload blocks moving to the next screen until it finishes.
Files go to your configured storage backend — never into MongoDB — and the server verifies file content (magic bytes) against the extension, never trusting the filename or the client’s claimed type. Executables, scripts, HTML, and SVG are never accepted in any category. In the editor’s preview mode, selections stay local and are tagged preview — not uploaded.
Configuration
Section titled “Configuration”| Option | Values | Default | Notes |
|---|---|---|---|
| Accepted categories | Documents / Images / Spreadsheets / Text / Archives | Documents | At least one; see the category table for extensions |
| Max files | 1–10 | 1 | Selecting more than the remaining slots rejects the surplus with a notice |
| Max size per file (MB) | 1 – system cap | 10 | The system cap (MAX_FILE_SIZE_MB, default 50) bounds what you can set |
| Helper text | up to 500 chars | — | Shown under the dropzone, e.g. “PDF preferred” |
"typeConfig": { "allowedCategories": ["DOCUMENTS"], "maxFiles": 1, "maxFileSizeMb": 10, "helperText": "" }Stored answer
Section titled “Stored answer”Always an array of file references, even with max files 1:
"resume": [ { "fileId": "f_9c1e4a7b2d3f40518a6c9e0d1b2a3c4d", "fileName": "Josh_Resume.pdf", "size": 482113, "contentType": "application/pdf" }]contentType is the server-verified type. The actual bytes are
retrieved through the management API’s download endpoint (always served as
an attachment, never inline); in CSV export the column shows the file
names joined with ; .
Answered: at least one completed upload. In-flight and failed uploads never enter the answer.
Rule operators
Section titled “Rule operators”None — file-upload questions cannot be referenced by rules. There’s nothing meaningful for a condition to compare (a rule on file names would be an invitation for accidents), so the rule builder simply never offers them, and a hand-written definition that tries is rejected at publish. A file question can of course have visibility and requirement rules like any other question.
If a rule hides a file question that already has uploads, the answer is cleared like any other and the embed releases the uploaded files; the server’s hourly cleanup job backstops any release that fails.