Multiple file upload - smbc-digital/form-builder GitHub Wiki
Refer to Stockport Design System for styling information and reference images
Warning
NOTE: You do not need to add a button element to the pages Element array, this is included by default due to the button behavior on file-upload. You can override the default button text of Continue or Submit via PageSubmitButtonLabel if required.
NOTE: You cannot have an optional file upload element on the first page of a form
NOTE: You must only set DisplayReCaptcha to true if you are using this element in an 'out of form' document upload.
DSL properties
| Property | Type | Required | Default Value | Description | 
|---|---|---|---|---|
| QuestionId | string | ✔️ | ❌ | Unique question id allowed charatcers are [a-zA-Z] only | 
| Label | string | ✔️ | ❌ | Label associated with the question | 
| Optional | bool | ❌ | false | Defines whether the element is optional or mandatory. NOTE: If you want '(optional)' displayed after the H1 Title, you should also set DisplayOptionalInTitle to true for the Page (refer to the Page Wiki for further information) | 
| LabelAsH1 | bool | ❌ | false | Display Label as h1 not a label (if this is set to true, HideTitle in the Page properties should also be set to true) | 
| Hint | string | ❌ | ❌ | Hint which appears above the file input. NOTE: There is some static text that is displayed by default which includes the accepted file types, the max file size and the total max file size | 
| IAG | string | ❌ | ❌ | Inset text to appear below the Label. NOTE: Do not use both Hint and IAG, use only one | 
| TargetMapping | string | ❌ | ❌ | Used for custom object mapping when creating submit data (more info about target mapping) | 
| AllowedFileTypes | Array[string] | ❌ | [".png", ".jpg", ".jpeg", ".pdf", ".docx", ".doc", ".odt"] | Set the accepted file types | 
| MaxFileSize | int | ❌ | 23.5Mb | The maximum file size in Mb (the default value is the maximum accepted value) | 
| MaxCombinedFileSize | int | ❌ | 23.5Mb | The maximum combined file size in Mb (the default value is the maximum accepted value) | 
| PageSubmitButtonLabel | string | ❌ | Continue/Submit dependent on behaviour type | The label for the main action button) | 
| DisplayReCaptcha | bool | ❌ | false | Displays reCaptcha once files have been uploaded. NOTE: Only set this to true on out of form document uploads | 
File upload examples
DS Json for multiple file upload:
        {
          "Type": "MultipleFileUpload",
          "Properties": {
            "QuestionId": "fileUpload",
            "Label": "Accepted Files",
            "AllowedFileTypes": [ ".jpg", ".png", ".jpeg", ".doc", ".docx", ".pdf", ".rtf", ".html" ],
            "MaxFileSize": 5,
            "MaxCombinedFileSize": 23
          }
        }
Example of DS page with Multi file upload
            "Elements": [
                {
                    "Type": "p",
                    "Properties": {
                        "Text": "You must upload:"
                    }
                },
                {
                    "Type": "ul",
                    "Properties": {
                        "ListItems": [
                            "List Item 1",
                            "List Item 2",
                            "List Item 3"
                        ]
                    }
                },
                {
                    "Type": "MultipleFileUpload",
                    "Properties": {
                        "QuestionId": "File",
                        "Label": "Accepted Files",
                        "AllowedFileTypes": [
                            ".jpg",
                            ".jpeg",
                            ".doc",
                            ".docx",
                            ".pdf",
                            ".rtf"
                        ],
                        "MaxFileSize": 4
                    }
                }
            ]
