• ベストアンサー

Javaでアップロードされた画像の種類を判定するには?

JavaServletで、ファイルをアップロードする仕組みをつくっています。 アップロードするファイルは、画像(JPG,GIF,BMP)を想定しています。 ここで、アップロードされたファイルが上記画像でない場合、エラーに したのですが、Javaで、アップロードされたファイルの画像の種類を 特定することは加納でしょうか? 単純に、拡張子で判定するだけではなく、バイナリレベルでの確認を 行いたいと考えています。

質問者が選んだベストアンサー

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

JpegもGIFもBMPもファイルフォーマットが決まっているのでアップロードされたファイルのデータがフォーマットに従っているか調べればよいかと思います。 と言っても、あまり利口ではないのでjavax.imageioあたりを使って実際にファイルがイメージファイルとして読み込めるかどうかを判定すると楽だと思います。 どのバージョンのJavaを使うかわかりませんが、Jpeg,GIF,BMPあたりはたぶんサポートされていると思います。

noname#43588
質問者

補足

回答ありがとうございます。 ImageReaderクラスのgetFormatNameメソッドで取得することが可能でしたが、 BMPのみ対応していませんでした。 BMPに対応したクラスやメソッドなどはあるのでしょうか?

その他の回答 (1)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

>BMPのみ対応していませんでした。 Java 5.0以降なら標準でBMPが読み込めます。5.0より前だと標準では無理ですね。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/relnotes/features.html#imageio

関連するQ&A

専門家に質問してみよう