• このエントリーをはてなブックマークに追加

プログレッシヴ JPEG の MIME タイプが別で存在することをさっき知りました.

JPEG: image/jpeg
Progressive JPEG: image/pjpeg

したがって,JPEGのみを扱うアップローダなどの実装でファイルのMIMEタイプを調べる場合,image/jpeg だけでなく image/pjpeg についても比較する必要があります.

次のように条件分岐させてやればいいでしょう.

use CGI;
my $q = CGI->new();
my $file_upload = $q->param('file-upload');

if( $q->uploadInfo($file_upload)->{'Content-Type'}
      =~ m{image/p?jpeg} ) {
  #
  # JPEGファイル
  #
}
else {
  #
  # 非JPEGファイル
  #
}