IEが奇怪なmimeタイプ(image/pjpeg、 image/x-png)を吐き出す件
IEを使って画像をアップロードしたり送信したりすると、image/pjpeg とか image/x-png といった奇怪なmimeタイプを送ってくる。
これが原因で、画像がアップローダに送れなかったり、ケータイ宛の添付ファイルとして表示できなかったりする。
perl
use CGI;
$query = new CGI;
$type = $query->uploadInfo($filename)->{'Content-Type'};
でブラウザの吐き出す Content-type をチェックしてみた。
File | IE9 | FF18 | Opera12 | Safari5 | Sleipnir2 |
---|---|---|---|---|---|
sample.gif | image/gif | image/gif | image/gif | image/gif | image/gif |
sample.jpg | image/pjpeg | image/jpeg | image/jpeg | image/jpeg | image/pjpeg |
sample.png | image/x-png | image/png | image/png | image/png | image/x-png |
Sleipnir はIEエンジンだから当然こうなるだろう。
仕方がないので、ファイルを受け取る側で
perl
$type =~ s/image\/pjpeg/image\/jpeg/;
$type =~ s/image\/x\-png/image\/png/;
みたいにするしかないんだろう。