Utility to parse mime type from a file content
npm install file-type-mime
Utility to parse mime type from a file content.
Browser (react)
``javascript
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 (
Node.js
`javascript
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
$3
function parse(buffer: ArrayBuffer, options: Options = {}): Result | undefined$3
#### buffer
Type:
ArrayBufferA 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)
$3
Type:
{ ext: string; mime: string } | undefined`(more to come...)
| File extension | Content (mime) type |
| -------------- | ------------------------------------------------------------------------- |
| bmp | image/bmp |
| gif | image/gif |
| ico | image/x-icon |
| jpg | image/jpeg |
| heic | image/heic |
| png | image/png |
| tiff | image/tiff |
| pdf | application/pdf |
| rtf | application/rtf |
| epub | application/epub+zip |
| gz | application/gzip |
| jar | application/java-archive |
| zip | application/zip |
| bz2 | application/x-bzip2 |
| rar | application/x-rar-compressed |
| tar | application/x-tar |
| docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation |
| xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| opd | application/vnd.oasis.opendocument.presentation |
| ods | application/vnd.oasis.opendocument.spreadsheet |
| odt | application/vnd.oasis.opendocument.text |
| db | application/vnd.sqlite3 |
| 7z | application/x-7z-compressed |
| avi | video/x-msvideo |
| mp3 | audio/mp3 |
| mp4 | video/mp4 |
| oga | audio/ogg |
| ogg | audio/ogg |
| ogm | video/ogg |
| ogv | video/ogg |
| ogx | application/ogg |
| wav | audio/wav |
| woff | font/woff |
| woff2 | font/woff2 |
| deb | application/x-deb |
| flac | audio/x-flac |
| psd | image/vnd.adobe.photoshop |
| wasm | application/wasm |
| webp | image/webp |
| class | application/java-vm |
| exe | application/x-msdownload |
| parquet | application/vnd.apache.parquet |
| json | application/json |
| txt | text/plain |
| vsix | application/vsix |
| mov | video/quicktime |
| afiv | image/avif |
| m4v | video/x-m4v |
| m4a | audio/mp4 |
