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
    actionobject

    Accepts an object with Button props and additional label prop and exclude variant prop.

    descriptionstring

    Short description for the dropzone.

    emptyHeightnumber

    Set height for the dropzone when there are no files.

    iconReact.ReactNode

    Adds icon to the dropzone.

    labelstring

    Adds a label to the field.

    Props ending with * are required

    Do's and Don'ts

    Do
    Specify allowed file types and maximum size.