FileUploader

Overview

FileUploader allows users to upload content of their own to the system. A file uploader is commonly found in forms, but can also live as a standalone element.

When to use:

  • Uploading one or multiple documents or images.
  • Drag and drop one or multiple documents or images.

Implementation

    Drag and drop image here

    Edit the code below to see your changes live!

    function Example() {
      const [files, setFiles] = useState<File[]>([]);
    
      const validateFileSize = (file: File) => {
        const MB = 1024 * 1024;
    
        return file.size <= MB;
      };
    
      return (
        <Form>
          <FormGroup>
            <FileUploader
              dropzoneConfig={{
                label: 'Drag and drop image here',
                action: {
                  label: 'Upload by URL',
                  onClick: () => null,
                },
              }}
              files={files}
              label="Upload files"
              multiple
              onFilesChange={setFiles}
              required
              validators={[
                {
                  validator: validateFileSize,
                  type: 'file-size',
                },
              ]}
            />
          </FormGroup>
        </Form>
      );
    }
    

    Props

    Prop name
    Type
    Default
    Description
    fileFile

    File that failed validation.

    fileIdxnumber

    Index of the file that failed validation.

    messagestring

    Message that is taken from the validator if it is defined there.

    typestring

    Type of the error, size, format, etc.

    Props ending with * are required

    Do's and Don'ts

    Do
    Specify allowed file types and maximum size.