文件上传时需要保证后缀名的准确,不然可能会导致文件上传漏洞。
一般input
标签中的accept
并不能精确判断文件后缀(格式):如果手动修改可以无视限制。
这里我推荐一个第三方库:file-type。它的原理是检测二进制文件流中的“魔数”,一般来说也就是起始的几个字节!比如png格式的前8个字节是:0x89 50 4E 47 0D 0A 1A 0A
。
安装方式:
npm install file-type
它的官方npm地址如下:
https://www.npmjs.com/package/file-type