微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NPM酷库:file-type,检测文件类型

NPM酷库,每天两分钟,了解一个流行NPM库。

通常,我们的程序通过文件后缀名检测类型,这是最直接简洁的方式。但是,在一些情况下,直接通过后缀名检测文件类型,不太合适或行不通,比如:

这些问题,在脉冲云的代码仓库和文件管理服务的开发中经常遇到,在脉冲云的开发中,我们使用file-type来判断文件类型。

file-type 原理

file-type 可以直接检测一个Buffer数据流,得到这个Buffer数据的内容文件)类型。

file-type 的原理是检测文件/数据的Magic Number。通常情况下,一些知名的文件类型,在其文件开头的几个字节用来标志其文件类型,这几个字节就叫做 Magic Number。比如,PDF文件开头的几个字节是 %PDF(hex: 25 50 44 46)。

file-type 现在已经支持文件类型列表:

jpg png gif webp flif cr2 tif bmp jxr psd zip tar rar gz bz2 7z dmg mp4 m4v mid mkv webm mov avi wmv mpg mp3 m4a ogg opus flac wav amr pdf epub mobi exe swf rtf woff woff2 eot ttf otf ico flv ps xz sqlite nes crx xpi cab deb ar rpm Z lz msi mxf mts wasm blend bpg docx pptx xlsx 3gp jp2 jpm jpx mj2 aif odt ods odp xml

参考资料

https://github.com/sindresorh...

https://en.wikipedia.org/wiki...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐