6. File Uploads
Note: BPMN does not have a native
fileform 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 |