繁体   English   中英

检查node.js中的实际文件类型

[英]Check actual file type in node.js

我想通过仅向我的头像上传端点添加jpg扩展名来阻止人们上传电影文件或shell脚本。 我已经很久没有编写后端上传脚本了,但是我记得PHP能够告诉我实际的文件类型,而不仅仅是基于文件扩展名的类型。 我也可以仅在前端JS上进行检查。 或在Java中,有http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#probeContentType%28java.nio.file.Path%29

问题出在香草节点上,使用包括mmmagic在内的一堆与mime相关的模块只是根据文件扩展名返回了mime类型。 例如,我删除了gif文件上的gif扩展名,并将其更改为txt ,而Node和mmmagic返回text/plain

在Java中,我使用的是Tika ,这是一个mime类型检测器工具。 事实证明,有一个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'.
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM