Skip to content

suryakant2000/generic-file-validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

generic-file-validator

What it does?

It checks the file MIME type, and validate it against the extension.

Install

npm i generic-file-validator

Supported media and extension

Media Extension
image .jpg, .jpeg, .png, .gif, .webp, .tiff, .bmp
audio .mp3, .oga, .wav, .mid, .midi
video .mp4, .ogv, .avi, .mpeg, .webm, .mkv, .3gp
application .doc, .docx, .xls, .xlsx, .ppt, .pptx, .zip, .apk, .pdf

User guide

Props

Props name Description Defalut value Required Example
file The file which you want to validate null true file: file to be validated
media The media type, it will whitelist all the supported extension [] required if 'whitelistExtension' is not passed in the function media: ['image']
whitelistExtension The extension you want to whitelist irrespective of media [] required if 'media' is not passed in the function whitelistExtension: ['png', 'gif']
blacklistExtension The extension you want to blacklist irrespective of media [] false blacklistExtension: ['tiff', 'pdf']
returnBase64 Return base64 of the file true false returnBase64: false

Usage

Here is the example usage in react app.

import "./App.css";
import fileValidator from "generic-file-validator";

function App() {
  const handleChange = (e) => {
    let file = e.target.files[0];

    fileValidator(
      {
        file: file,
        media: ["image"],
        whitelistExtension: ["jpg", "jpeg"],
        blacklistExtension: ["png"],
      },
      callback
    );
  };

  const callback = (res) => {
    console.log({ res });
  };

  return (
    <div className="App">
      <input type="file" onChange={handleChange} />
    </div>
  );
}

export default App;

Usefull Link

https://codesandbox.io/s/generic-file-validator-example-zjlyrm