# File Upload


File upload is powered by the plugin react-dropzone. Please refer there documentation for further details and instructions here https://github.com/react-dropzone/react-dropzone/


# Importing

import { useDropzone } from "react-dropzone";
import "react-bootstrap-typeahead/css/Typeahead.css";

# How to use

const [files, setFiles] = useState([]);
const [hasFileUploaded, setHasFileUploaded] = useState(false);

const {
    getRootProps,
    getInputProps,
    isDragActive,
    isDragAccept,
    isDragReject,
  } = useDropzone({
    accept: "image/*",
    onDrop: (acceptedFiles) => {
      let temp_file = files;
      temp_file.push(
        acceptedFiles.map((file) =>
          Object.assign(file, {
            preview: URL.createObjectURL(file),
          })
        )
      );
      setFiles(temp_file);
        setHasFileUploaded(true);
    },
  });

const options = [
    "Default",
    "Medium",
    "Hard",
]

 <section className="container file-upload">
      <div {...getRootProps({ style })}>
        <input {...getInputProps()} />
        {hasFileUploaded ? (
          <div className="w-100 d-flex files">
            <aside>
              {thumbs}
            </aside>
          </div>
        ) : (
          <div>
            <p style={dropHeaderStyle}>
              Drop files <strong>to upload</strong>
            </p>
            <p style={dropTextStyle}>or click here</p>
          </div>
        )}
      </div>
 </section>