我正在创建一个应用程序,由于某些原因,它只接受PNG图像。如何检查一张图片是否真的是PNG格式的?目前我正在使用JavaFX 2的Image类来加载图片。谢谢任何提示!
如果您不信任文件名,一个简单的检查方法是使用FileInputStream
读取前8个字节,并检查它们是否对应于PNG签名(相关信息请参见:https://dev59.com/AGPVa4cB1Zd3GeqP8btk#10555053)。
我目前在自己的应用程序中通过确认文件的Mime类型来处理它。有几个SO线程建议如何在Java中获取Mime类型。