我正在开发一个允许用户上传图像的 Web 应用程序。 我关心的是文件的大小,特别是如果它们是无效格式。
我想知道在读取整个文件之前,java(或第三方库)中是否有一种方法可以检查允许的文件格式(jpg、gif 和 png)。
最佳答案
如果您只想支持几种类型的图像,您可以先(上传)加载图像,然后在某个时候使用前几个字节来检查您是否希望继续上传。
相当多的图像格式可以通过前几个字节识别,magic number .如果数字匹配你当然不知道文件是否有效,但它可以用来匹配扩展名和魔数(Magic Number)以防止真的根本不对应。
看看this page查看一些检查 mime 类型的 Java。请阅读文档或源代码以检查任何给定方法是否需要整个文件,或者是否可以对前几个字节进行操作。我没有使用过那些库 :)
另请查看 this page其中还列出了一些java库,以及一些基于检测的论文。
如果您找到了自己喜欢的东西,请不要忘记提供一些反馈!
关于Java/ImageIO 在读取整个文件之前验证格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2411966/