何らかの理由でPNG画像のみを受け入れるアプリケーションを作成しています。
画像が本当にPNG画像であるかどうかを確認するにはどうすればよいですか?現在、JavaFX2Imageクラスを使用して画像をロードしています。
ヒントをありがとう!
ファイル名が信頼できない場合は、最初の8バイト(を含むFileInputStream
)を読み取り、それらがPNG署名に対応していることを確認するだけです(関連:https ://stackoverflow.com/a/10555053/277304 ) 。
私は現在、ファイルを処理する前にファイルのMIMEタイプを確認することにより、自分のアプリケーションでこれを行っています。JavaでMimeタイプを取得する方法を提案するいくつかのSOスレッドがあります。