检查node.js中的实际文件types
我想阻止人们通过向我的头像上传端点添加jpg
扩展来上传电影文件或shell脚本。 我没有编写后端长时间上传脚本,但我记得PHP能够告诉我实际的文件types,而不仅仅是基于文件扩展名的types。 我也可以单纯地检查这个前端JS。 或者在Java中有http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#probeContentType%28java.nio.file.Path%29
这个问题是在香草节点,并使用一堆mime相关模块,包括mmmagic
,只是基于文件扩展名返回MIMEtypes。 例如,我删除了gif文件的gif
扩展名,并将其改为txt
,Node和mmmagic
只是返回text/plain
。
在Java中,我使用了Tika ,这是一个MIMEtypes检测工具。 原来,有nodejs桥, node-tika 。
使用
npm install node-tika
和
var tika = require('tika'); tika.type('test/data/file.pdf', function(err, contentType) { console.log(contentType); // Logs 'application/pdf'. });
- 为什么Meteor.users.findOne({username:“test”})返回一个对象,但用具有相同值的variablesreplace“test”会返回undefined
- 在Node.js中删除/释放Twilio电话号码的语法是什么?
- 将string转换为数字node.js
- streamtypes和合并json对象
- 如何在@types上为范围/命名空间包安装TypeScript声明?
- Node.js SyntaxError:ANTLR4 JavaScript Lexer中的意外标识符“boolean”
- browser.d.ts依赖Edge Web扩展API browser.runtime。* in typescript
- 如何在Express中强制parsing请求主体而不是json?
- 在Node.js中,读取一个.html文件的目录并在其中search元素属性?
- BLE GATT:为什么在整数types中存储小数?
- MongoDB + Node.js:如何从一个外部文件使用架构为另一个架构?