はりをきば

そこにピカマンがいる限り 私はテイッハットウッをやめない

IEはdata URIのJPEGやGIFを「名前を付けて保存」できない

¯注意
この記事はを最後に更新されていない。
更新日が1年以上前の記事はリンク切れしていたり、情報としては役に立たなくなっている可能性あり。
ˆMixed Contentについて
この記事は投稿日が古い為、記事中の画像は非SSL(http://)で貼られている。(※投稿画像以外は全てSSL)
この件に関して詳しくはこちらを参照。

何この、タイトルで全て言い切っちゃった感。


…タイトル通り。
IEはdata URIで表示されたJPEGやGIFを右クリックから保存しようとすると…
f:id:Gutyan:20140227224729p:plain


保存形式の選択肢に「PNG」と「BMP」しかない。
拡張子が変わるだけとかそんな可愛いもんではなく、マジでPNG(BMP)に変換される。


サンプルページ用意したんで、嘘だと思うならdata URIに対応してるIE8以降で試してみて欲しい。

dataスキーム実験

http://test.gutyan.jp/dataURI


PNGなら大丈夫かと言われると、そうでもない。
確かに静的な通常PNGなら問題ないっちゃ問題ないが、保存時に再エンコードされる為
オリジナルとバイナリが変わってしまう。
…でもそれはまだいい方。


問題は、対象がGIFアニメやAPNGだった場合
再エンコのせいでアニメーション部分が失われる。


普通にHTTP(S)から読み込む画像は何ら問題なく保存できる。


…どうやら、IEは名前を付けて保存するdata URIの画像に対し強制的に再エンコかけるっぽい。
最新のIE11でも。




何でや。
画面上じゃ正しく表示できとるやん。正しくBASE64デコードできてんじゃん。
何で保存する時だけわざわざ別形式への変換を強制するん。


ってかこれggっても何ら情報が出てこない。
いくらdata URIがマイナーだからって… そりゃねーよ…