博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NPM酷库:file-type,检测文件类型
阅读量:6899 次
发布时间:2019-06-27

本文共 789 字,大约阅读时间需要 2 分钟。

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

参考资料

欢迎关注公众号:梁兴臣

梁兴臣

每天了解一个NPM库,一年后成为Node.js高手

转载地址:http://kgpdl.baihongyu.com/

你可能感兴趣的文章
HDU 1394 Minimum Inversion Number 线段树
查看>>
Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)
查看>>
ssm框架整合
查看>>
C/C++里自带提供的整数进制转换的几种方式(转载)
查看>>
JAVA类加载顺序
查看>>
数据结构复习
查看>>
JSONPlaceholder - 免费的在线REST服务(提供测试用的HTTP请求假数据)
查看>>
今天购买了一个云服务器
查看>>
C#以管理员身份运行程序
查看>>
inline 函数
查看>>
[摘录]遇见未知的自己(二)
查看>>
python基础===修改idle的输入风格
查看>>
对Linux下TCP连接相关配置的优化记录(转载)
查看>>
【DM642】H.264源代码在DM642上的移植
查看>>
Delphi7_Lite_Fullv7.3优化精简全功能版
查看>>
Android笔记之自定义对话框
查看>>
【转】超实用的JavaScript技巧及最佳实践
查看>>
个人博客作业三:微软小娜APP的案例分析
查看>>
python-玉米(小米)商城作业
查看>>
Eclipse调试DEBUG时快速查看某个变量的值的快捷键
查看>>