我需要确定我在Express.js服务器上上传的文件的类型。有办法检查扩展,甚至检查这样的事情:
if(req.files.file.type !== "application/pdf") {
res.set('Content-Type', 'text/html');
return res.send({errormessage: "Only PDF accepted."});
}
这里的问题是在客户端更改文件扩展名,很容易欺骗这个检查。我认为只有检查是在Express文件系统上下载文件,然后对它进行某种检查。 我已经为node.js尝试了mime库,但它也依赖于内容类型,因此也很容易被愚弄。我见过另一个图书馆: https://github.com/mscdex/mmmagic
但似乎它不是Windows版本。我的服务器是Windows 2012机器。
感谢任何帮助。
答案 0 :(得分:3)
mmmagic应该适用于节点支持的所有平台。如果您使用的是Windows,则必须拥有正确的构建环境: