SAIL Function: a!fileUploadField()
Allows users to upload a file. File upload is only enabled on start and task forms.
See Also: Document, Document or Folder, SAIL Recipe: Add Multiple File Upload Components Dynamically
Parameters
Name | Keyword | Type | Description |
---|---|---|---|
Label | label | Text | Optional text to display as the field label. |
Label Position | labelPosition | Text | Optional text to determine where the label appears. Valid values include
|
Instructions | instructions | Text | Optional text displayed below the field's value. |
Help Tooltip | helpTooltip | Text | Displays a help icon with the specified text as a tooltip. The tooltip displays a maximum of 500 characters. The help icon does not show when the label position is "COLLAPSED" . |
Target | target | Document or Folder | Determines the eventual location of the uploaded file. When a Folder, the uploaded file is created as a document in that folder. When a Document, the uploaded file is created as a new version of that document. |
File Names | fileNames | Text | Determines the names for the files. When not provided, the uploaded filenames are used. Access name, size, and extension of each file using the variables fv!file.name, fv!file.size, and fv!file.extension. Access the index of each file using the variable fv!index. |
File Descriptions | fileDescriptions | Text | Determines the descriptions for the files. When not provided, the descriptions of the new files are empty. Access name, size, and extension of each file using the variables fv!file.name, fv!file.size, and fv!file.extension. Access the index of each file using the variable fv!index. |
Selected Files | value | Document | The files associated with this field. |
Save File To | saveInto | Save Array | One or more variables that are updated with the files when the user uploads files. Removing all uploaded files saves an empty document list. Use a!save() to save a modified or alternative value to a variable. |
Required | required | Boolean | Determines if a value is required to submit the form. Default is false . |
Required Message | requiredMessage | Text | Custom message to be displayed when the field's value is required and not provided. |
Disabled | disabled | Boolean | Determines if the user is prevented from changing the value and determines if the field should be grayed out. Default is false . |
Validations | validations | Text Array | Validation errors to be displayed below the field when the value is not null. Access the names, sizes, and extensions of the uploaded files using the variables fv!files.name, fv!files.size, and fv!file.extension. |
Validation Group | validationGroup | Text | When present, this field is only validated when a button in the same validation group is clicked. |
Button Style | buttonStyle | Text | Determines the how the button is displayed, where
|
Button Size | buttonSize | Text | Determines the size of the button. Valid values: "SMALL" , "STANDARD" (default), "LARGE" . |
Visibility | showWhen | Boolean | Determines whether the component is displayed on the interface. When set to false, the component is hidden and is not evaluated. Default: true. |
Notes
fv!
variables described in the File Name, File Description, and Validations parameters. This is the only way to access file metadata before the form is submitted.\ / " ; : | ? ' < > *
Examples
Copy and paste an example to the expression view of the interface designer to see it displayed. These examples require an existing target folder or document.
File Upload with no Files
1
2
3
4
5
6
=a!fileUploadField(
label: "Cover Letter",
target: cons!APPLICANT_FOLDER,
value: ri!coverLetter,
saveInto: ri!coverLetter
)
Displays the following:
Single File Upload with a File
1
2
3
4
5
6
7
=a!fileUploadField(
label: "Cover Letter",
target: cons!APPLICANT_FOLDER,
maxSelections: 1,
value: ri!coverLetter,
saveInto: ri!coverLetter
)
Displays the following:
Multiple File Upload with Files
1
2
3
4
5
6
=a!fileUploadField(
label: "Inspection Photos",
target: cons!INSPECTION_PHOTOS_FOLDER,
value: ri!photos,
saveInto: ri!photos
)
Displays the following:
Add one of these parameter configurations to a file upload component to achieve a the desired behavior. These examples demonstrate how to use the fv!
variables available in the File Name, File Description, and Validations parameters to set file metadata or create complex validations.
Swap spaces for underscores in file names
1
fileNames: substitute(fv!file.name, " ", "_")
Set file descriptions to a value plus file index
1
fileDescriptions: "Application ABC-123 attachment " & fv!index
All files must be PDFs
1
2
3
4
5
6
7
8
9
validations: with(
local!invalidExtensions: difference(upper(fv!files.extension), "PDF"),
if(
length(local!invalidExtensions) > 0,
"Attachments must be pdf files. Remove: " &
index(fv!files, "name", wherecontains(local!invalidExtensions, upper(fv!files.extension)), {}),
""
)
)
No files may be PDFs
1
2
3
4
5
6
validations: if(
contains(upper(fv!files.extension), "PDF"),
"Attachments must not be pdf files. Remove: " &
index(fv!files, "name", wherecontains("PDF", upper(fv!files.extension))),
""
)
Files may only be PNG or JPG
1
2
3
4
5
6
7
8
9
validations: with(
local!invalidExtensions: difference(upper(fv!files.extension), { "PNG", "JPG" }),
if(
length(local!invalidExtensions) > 0,
"Attachments must be images. Remove: " &
index(fv!files, "name", wherecontains(local!invalidExtensions, upper(fv!files.extension)), {}),
""
)
)
Files must be larger than 5MB
1
2
3
4
5
6
validations: if(
or(fv!files.size < 5000000),
"Attachments must be at least 5MB. Remove: " &
index(fv!files, "name", where(fv!files.size < 5000000), {}),
""
)
Files must be smaller than 5MB
1
2
3
4
5
6
validations: if(
or(fv!files.size > 5000000),
"Attachments may not exceed 5MB. Remove: " &
index(fv!files, "name", where(fv!files.size > 5000000), {}),
""
)
Up to 5 files are allowed
1
validations: if(length(fv!files) > 5, "Only 5 attachments are allowed", "")
Exactly 5 files are required
1
validations: if(not(length(fv!files) = 5), "5 files must be attached", "")
At least 5 files are required
1
validations: if(length(fv!files) < 5, "There must be at least 5 attachments", "")
There are older versions of this SAIL Component. You can identify older versions by looking at the name to see if there is a version suffix. If you are using an old version, be sure to refer to the corresponding documentation from the list below.
Old Versions | Reason for Update |
---|---|
a!fileUploadField_17r1 | Multiple file upload is now supported directly within the component. This removes the need to generate many individual file upload fields. |
To learn more about how Appian handles this kind of versioning, see the Function and Component Versions page.