2007年9月25日火曜日

ImageIO(Java)で画像ファイルフォーマットの取得

スズキです。

Javaでアップロードした画像ファイルのフォーマット(jpeg/gif/...)を取得する必要があり、
"MIME Type"みて判断してもよかったんだけど、
せっかくなので、ファイルの中身で判断する方法を試みてみました。

いきなり結論ですが、ImageIOクラス使えばできます。
コードはこんな感じです。
--------
ImageInputStream iis =
ImageIO.createImageInputStream(uploadedFile.getInputStream());
Iterator readers = ImageIO.getImageReaders(iis);
ImageReader reader = (ImageReader)readers.next();
String ext = reader.getFormatName();
--------
※uploadedFileはtomahawkのUploadedFileです。

詳しくはJavadocですね。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/imageio/ImageIO.html

これで、Teedaの画像フォーマットチェックValidatorが作れそうだ。

--
blog: http://suz-lab.blogspot.com/

0 コメント: