我正在创建一个应用程序,由于某些原因只能接受PNG图像。JavaFX:获取图像的格式(PNG,JPG ..)?
如何检查图像是否真的是PNG图像?目前我正在使用JavaFX 2 Image类来加载图像。
感谢您的任何提示!
我正在创建一个应用程序,由于某些原因只能接受PNG图像。JavaFX:获取图像的格式(PNG,JPG ..)?
如何检查图像是否真的是PNG图像?目前我正在使用JavaFX 2 Image类来加载图像。
感谢您的任何提示!
我做到这一点目前在我自己的应用程序中通过在处理它之前确认文件的MIME类型。有几个SO线程提示如何在Java中获得Mime类型。
如果你不信任的文件名,一个简单的检查是读取头8个字节(带FileInputStream
),并检查它们对应的PNG签名(相关:https://stackoverflow.com/a/10555053/277304)
这将是检查MIME类型。 – JoshDM 2013-02-16 14:05:46
也谢谢! Java 7中有一个方便的方法,请参阅我对Josh的回复的评论。 – 2013-02-16 14:26:20
我在http://stackoverflow.com/questions/51438/getting-a-files-mime-type-in-java结束了Chris Mowforth的回答:Java 7的Files.probeContentType(路径) - 在我的情况下效果很好。所以感谢提示:-) – 2013-02-16 14:25:44