File uploading

v1.0

File uploading allows users to upload one or more files to a location.

  • Skin
  • Marko
  • React
Stylized artwork of a file upload pattern.

Considerations

Consistent

File upload ensures that users encounter the same interface and process whether they are uploading images, videos, or documents, promoting ease of use and reducing confusion across different parts of the system.

Compact

The design supports multiple file uploads and accommodates for properties like file name and description—all without overcrowding the interface or compromising usability.

Recognizable

File upload leverages the familiar visual cues commonly found in industry best practices and are widely recognized across various platforms and devices. The design helps users swiftly locate the upload area, creating a familiar and recognizable experience.

Anatomy

File input field

Add file button

Preview card

List item

Properties

Behavior

An example of  File preview cards next to an example of a video preview from the gallery.

Grid columns

The number of columns in the file preview card grid changes responsively based on the width of the parent container. The media container width will grow and shrink to fill the column space.

A detailed grid of screen size names and widths. There are 4 columns. From left to right reads “Small”, “Medium”, “Large”, and “X-Large”. Small has 320 Min “2 columns”, 360, 375 and 512 “4 columns”. Medium has 600, 768 “5 columns”, and 1024 “7 columns”. Large has 1280 “9 columns” and 1440 “10 columns”.  X-Large has 1640, 1680+ “12 columns”.

Screen sizes

Example of desktop web file preview cards in he expanded dialog view.
Example of a desktop web file upload with multiple file list stacked.

Best practices

Specs

File upload with File input field and File preview card components shown with paddings and spacing specs highlighted.
File upload with File input field and File preview card components shown with paddings and spacing specs highlighted.
File upload with File input field and File preview card components shown with paddings and spacing specs highlighted.
Min and max-width image containers. The Min is 120px and the Max is 396px.