简介
mime-kind 是一个旨在使 Node.js 文件类型探测更加简单和高效的 npm 包。该包使用了 MIME 类型字符串,可以从文件名、文件扩展名或文件内容中确定文件类型。mime-kind 库是一个高性能、零依赖的实用工具,易于使用和扩展。
安装
要使用 mime-kind,您需要具有 Node.js。如果您已经安装了 Node.js,请在终端中运行以下指令安装 mime-kind 包。
npm install mime-kind --save
基本用法
通过传入文件名或扩展名获得文件类型
以下示例代码从文件名或扩展名中获得文件类型。
const mime = require('mime-kind'); console.log(mime.getType('file.txt')); // text/plain console.log(mime.getType('file.mp4')); // video/mp4 console.log(mime.getType('file.docx')); // application/vnd.openxmlformats-officedocument.wordprocessingml.document
通过传入文件内容获得文件类型
以下示例代码从文件内容中获得文件类型。
const mime = require('mime-kind'); const fs = require('fs'); const buffer = fs.readFileSync('file.png'); console.log(mime.getType(buffer)); //image/png
查找所有与 MIME 类型相关的扩展名
以下示例代码查找所有与 MIME 类型相关的扩展名。
const mime = require('mime-kind'); console.log(mime.getExtensions('text/plain')); // ['c', 'h', 'hh', 'c++', 'cc', 'cxx', 'cpp', 'h++', 'hpp', 'hxx', 'md', 'txt'] console.log(mime.getExtensions('video/mp4')); // ['mp4', 'm4v', 'mp4v', '3gp', '3g2', 'mov', 'qt'] console.log(mime.getExtensions('application/vnd.openxmlformats-officedocument.wordprocessingml.document')); // ['docx']
进阶用法
增加自定义 MIME 类型
mime-kind package 支持增加自定义的 MIME 类型。下列方式展示自定义添加 MIME 类型方法。
const mime = require('mime-kind'); mime.define({ 'video/custom': ['custom'], 'image/custom': ['custimg'], }); console.log(mime.getType('file.custom')); // video/custom console.log(mime.getType('file.custimg')); // image/custom
通过文件头信息(magic number)进行文件类型判断
当 MIME 类型确定不了的时候,mime-kind package 可以使用文件头信息或者叫 magic number 进行文件类型判断。如果您的文件包含了 magic number,您可以使用 mime.kind 将文件内容作为Buffer的形式传入,自动检测文件类型。
const mime = require('mime-kind'); const fs = require('fs'); const buffer = fs.readFileSync('file.mp3'); console.log(mime.getType(buffer)); // audio/mpeg
总结
mime-kind 是一个旨在使 Node.js 文件类型探测更加简单和高效的 npm 包。使用 mime-kind 库可以更加快速、准确地确定文件的 MIME 类型并获取文件的扩展名。同时使用它可以较好的适配 Node.js 及浏览器环境。希望通过本篇文章,您可以更好的掌握 mime-kind 的使用方法。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/68580