Javascript 检查node.js中的实际文件类型
我想阻止人们上传电影文件或shell脚本,只需在我的头像上传端点添加Javascript 检查node.js中的实际文件类型,javascript,node.js,security,mime,file-type,Javascript,Node.js,Security,Mime,File Type,我想阻止人们上传电影文件或shell脚本,只需在我的头像上传端点添加jpg扩展名。我已经很长时间没有编写后端来上传脚本了,但我记得PHP能够告诉我实际的文件类型,而不仅仅是基于文件扩展名的类型。我也可以在前端JS上检查这一点。或者在Java中有 问题是在vanilla节点中,使用一系列与mime相关的模块(包括mmmagic)只是基于文件扩展名返回mime类型。例如,我删除了gif文件上的gif扩展名,并将其更改为txt,节点和mmmagic都只返回我使用的Java中的text/plain,这是
jpg
扩展名。我已经很长时间没有编写后端来上传脚本了,但我记得PHP能够告诉我实际的文件类型,而不仅仅是基于文件扩展名的类型。我也可以在前端JS上检查这一点。或者在Java中有
问题是在vanilla节点中,使用一系列与mime相关的模块(包括mmmagic
)只是基于文件扩展名返回mime类型。例如,我删除了gif文件上的gif
扩展名,并将其更改为txt
,节点和mmmagic
都只返回我使用的Java中的text/plain
,这是一个mime类型检测工具。事实证明,它有一个nodejs桥
使用
npm install node-tika
及
var tika = require('tika');
tika.type('test/data/file.pdf', function(err, contentType) {
console.log(contentType); // Logs 'application/pdf'.
});