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
    messagestring

    Error message passed to the error object when validator fails.

    type *string

    Type of validator, size, format, etc.

    validator *(file: File) => boolean;

    Function that validates the file.

    Props ending with * are required

    Do's and Don'ts

    Do
    Specify allowed file types and maximum size.