我有一个网页,可以用来上传文件。
现在,我需要检查文件类型是否正确(zip,jpg,pdf,…)。
我可以使用请求随附的mimeType,但我不信任用户,并且说我想确保没有人能够上传在.jpg中重命名的.gif文件。
我认为在这种情况下,我应该检查魔术号码。我发现
这是一个Java库,似乎可以实现“从魔术数字中提取模仿类型”的功能。
这是正确的解决方案还是您建议什么?
更新: 我已经找到了mime-util项目,它看起来非常好而且是最新的!(也许比Java Mime Magic Library更好吗?)
这是一些实用程序项目,可以帮助您提取mime类型。
试用Java Mime Magic库
byte[] data = ...
MagicMatch match = Magic.getMagicMatch(data);
String mimeType = match.getMimeType();
问题内容: 在Linux桌面(RHEL4)上,我想从大文件(> 1 Gig)中提取一定范围的字节(通常小于1000)。我知道文件的偏移量和块的大小。 我可以编写代码来执行此操作,但是有命令行解决方案吗? 理想情况是: 问题答案: 尝试:
问题内容: UnsafeMutableRawPointer(Swift 3中的新增功能)指向的一个字节如何从内存中访问字节(或Int16,float等),然后由C API(核心音频等)传递给Swift函数。 问题答案: 从内存中读取原始字节并构造一个type值: (可选)字节偏移量: 还有,从一个转换到一个,假设被指向的存储器包含类型T的值: 对于值数组,您可以创建“缓冲区指针”: 缓冲区指针可能
问题内容: 我在数据库中有字节数组。 如何从Java中的字节数组中提取文件扩展名(MIME /类型)? 问题答案: 如果这是为了存储上载的文件: 为文件扩展名创建一列 为浏览器发送的mime类型创建一列 如果您没有原始文件,而只有字节,那么您有两种不错的解决方案。 如果能够使用库,请查看使用mime-util检查字节: http://technopaper.blogspot.com/2009/03
问题内容: 我有以下字节片,我需要从中提取位并将它们放置在[] int中,因为我打算稍后再获取各个位值。我很难弄清楚该怎么做。 下面是我的代码 我需要的是一点点-> 我试过了 我尝试使用BigEndian将字节片转换为Uint16,然后尝试使用,但由于错误而失败 看到了很多示例,这些示例使用函数来简单地输出数字的位表示形式,但这对我没有用,因为我需要一个int切片来进一步访问位值。 我需要在这里使
我有一个JavaScript字符串(例如),我只想从中得到。 我试过: 它仍然在警报中返回,我如何让它工作? 它需要适应任何长度数字附加在结束。
我正在写一个应用程序,根据该应用程序,你将被发送一条短信,其中包含一个重置代码,以确认你是该帐户的所有者。。但是我正在尝试以这样一种方式构建应用程序:它接收接收到的短信的广播,并仅从短信正文中获取指定的整数。我们注意到你想要重置密码的短信示例。密码重置代码是3242。,谢谢 我只想从整个短信正文中获取重置代码=3242。。谢谢