File Upload

The file import component allows user to select and upload files from their devices with this data, able to be used within a given user flow in the platform.

Anatomy


  1. Label - describes the upload section
  2. Help text - describes file requirements
  3. Upload button - the action to select a file to upload
  4. File card - represents the uploaded file
  5. Dismiss button - enables the user to remove the file
Anatomy_Main Component

 

  1. Heading - describes the upload section
  2. Help text - describes file requirements
  3. Drop zone - the user can drag and drop files here
  4. Drop zone label - describes the drop zone
  5. Upload button - the action to select a file to upload
  6. File card - represents the uploaded file
  7. Dismiss button - enables the user to remove the file
Anatomy_RTE Toolbar

 

Best Practices


Include instructions

Include well-formatted and concise instructions about file acceptance criteria or other upload-related information. This is crucial to prevent errors and helps ease the overall flow.

Do
File upload wih helper text visible always.

Include clear instructions and requirements that mandate file upload to prevent errors

Don't
File upload wih helper text appearing upon complication.

Avoid hiding the help text or adding long, complicated or unformatted instructions.

Button label and drop zone label

The labels of the button and the drop zone are crucial for an effortless file upload experience. These labels should be concise and explain what will happen after clicking or dropping files.

Do
File upload indicating what actions will do, such as 'click to upload'.

Use the default text or come up with another one that indicates well what the user can expect after certain actions.

Don't
File upload with general CTA, such as 'click here'.

Avoid giving a general label to the button and/or the drop zone.

Drag and drop goes hand in hand with the button

When using the File Upload Drag and Drop component, it is important to keep the button available in the drop zone for accessibility reasons.

Do
File upload with both drop zone and upload button.

Keep both the button and the drop zone label so that the interface meets accessibility standards.

Don't
File upload with only a drop zone.

Avoid hiding the button from the drop zone.

Error handling

In order to help the user resolve errors as quick and easy as possible, error messages should be concise and descriptive. It is not a must, but recommended to keep the error helper to provide more instructions to resolve the error.

Do
File upload with an error message and helper text.

State the reason for the error in the error message and give further instructions on how to resolve it with the error helper.

Don't
File upload with only an error message.

Avoid showing an error message that does not state what caused the error. Also try to avoid not giving instructions on how to resolve it.

 

CTA Hierarchy


Consider the overall layout and action hierarchy when designing with the File Upload component. 
In case a layout already has a primary button, use the tertiary variant in the File Upload component instead.

Forms with a primary call to action at the bottom with tertiary call to actions within the form.

Forms including simple and drag and drop file upload controls. In these example the file upload components are added to fieldsets.

 

Special Cases


Some flows permit only one file to be uploaded. In these cases, we recommend changing the label of the button, so that it is clear for the user that the new upload will overwrite the previous file.

File upload CTA that allows only one file changes from a primary 'Upload file' to a tertiary 'Change file' button.

 

Responsive Guidelines


It is possible that the file cards need to fit to smaller spaces resulting in the truncation of the file name. To provide an option for users to see the filename in these cases as well, the hover interaction triggers a tooltip.

File upload names that are truncated can be viewed fully with a tooltip.