Skip to content

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.

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": "" }

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.

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.