Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

file-type-mime

Package Overview
Dependencies
Maintainers
0
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

file-type-mime

Utility to parse mime type from a file content

  • 0.4.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
6.2K
decreased by-13.68%
Maintainers
0
Weekly downloads
 
Created
Source

file-type-mime

FOSSA Status

Utility to parse mime type from a file content.

Usage

Browser (react)

import { parse } from 'file-type-mime';

export default function fileUpload() {
  async function onChange(e) {
    const [file] = e.target.files;
    const buffer = await file.arrayBuffer();
    const result = parse(buffer);

    console.log('MIME_TYPE', result);
  }

  return (
    <form>
      <input type="file" onChange={onChange}>
    </form>
  );
}

Node.js

import { parse } from "file-type-mime";
import { readFileSync } from "node:fs";
import { resolve } from "node:path";

const file = resolve("./path/to/file.pdf");
const buffer = readFileSync(file);
const result = parse(buffer);

console.log("MIME_TYPE", result);

API

Signature

function parse(buffer: ArrayBuffer, options: Options = {}): Result | undefined

Arguments

buffer

Type: ArrayBuffer

A buffer representing file data

options (optional)

Type: { extra?: boolean; hint?: { ext?: string; mime?: string } }

  • hint - used to short-circuit general flow by filtering signatures list
  • extra - used to parse additional file type formats (like json, txt)

Return

Type: { ext: string; mime: string } | undefined

Supported file types

(more to come...)

File extensionContent (mime) type
bmpimage/bmp
gifimage/gif
icoimage/x-icon
jpgimage/jpeg
heicimage/heic
pngimage/png
tiffimage/tiff
pdfapplication/pdf
rtfapplication/rtf
epubapplication/epub+zip
gzapplication/gzip
jarapplication/java-archive
zipapplication/zip
bz2application/x-bzip2
rarapplication/x-rar-compressed
tarapplication/x-tar
docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.document
pptxapplication/vnd.openxmlformats-officedocument.presentationml.presentation
xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
opdapplication/vnd.oasis.opendocument.presentation
odsapplication/vnd.oasis.opendocument.spreadsheet
odtapplication/vnd.oasis.opendocument.text
dbapplication/vnd.sqlite3
7zapplication/x-7z-compressed
avivideo/x-msvideo
mp3audio/mp3
mp4video/mp4
ogaaudio/ogg
oggaudio/ogg
ogmvideo/ogg
ogvvideo/ogg
ogxapplication/ogg
wavaudio/wav
wofffont/woff
woff2font/woff2
debapplication/x-deb
flacaudio/x-flac
psdimage/vnd.adobe.photoshop
wasmapplication/wasm
webpimage/webp
classapplication/java-vm
exeapplication/x-msdownload
parquetapplication/vnd.apache.parquet
jsonapplication/json
txttext/plain
vsixapplication/vsix

License

FOSSA Status

Keywords

FAQs

Package last updated on 19 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc