6. File Uploads

Note: BPMN does not have a native file form property type. File uploads are implemented using the type hint pattern.

How to Enable File Uploads

Use <activiti:value id="type" name="file"/> inside a string type form property:

<userTask id="submitReport" name="Submit Report">
    <extensionElements>
        <activiti:formProperty id="receipt" name="Upload Receipt" type="string" required="true">
            <activiti:value id="type" name="file"/>
        </activiti:formProperty>
    </extensionElements>
</userTask>

Behavior

  • The UI renders as <input type="file">
  • When the task is completed, the file is saved to the server's uploads/ folder
  • The process variable stores the generated filename (UUID-based) as a string

File Handling Features

Feature Status Notes
File Upload ✅ Supported Attach files during task completion
Multi-File Upload ✅ Supported Multiple file fields per task
Instance-Based Storage ✅ Supported Files organized by process instance ID
Secure Download ✅ Supported Only process participants can download
Local Storage ✅ Active Filesystem-based storage
Azure Storage ⏸️ Prepared Implementation exists but inactive