一尘不染

如何从字节中提取MimeType []

java

我有一个网页,可以用来上传文件。
现在,我需要检查文件类型是否正确(zip,jpg,pdf,…)。

我可以使用请求随附的mimeType,但我不信任用户,并且说我想确保没有人能够上传在.jpg中重命名的.gif文件。
我认为在这种情况下,我应该检查魔术号码。我发现
是一个Java库,似乎可以实现“从魔术数字中提取模仿类型”的功能。
这是正确的解决方案还是您建议什么?

更新: 我已经找到了mime-util项目,它看起来非常好而且是最新的!(也许比Java Mime Magic Library更好吗?)
这是一些实用程序项目,可以帮助您提取mime类型。


阅读 224

收藏
2020-09-08

共1个答案

一尘不染

试用Java Mime Magic库

byte[] data = ...
MagicMatch match = Magic.getMagicMatch(data);
String mimeType = match.getMimeType();
2020-09-08