2012-03-30 25 views
0

私は、データuriスキームを使用してブラウザでBase64でエンコードされたイメージをデコードしようとしています。FirefoxとChromeはbase64イメージまたはpdfファイルをデコードしません

これは私のHTMLは次のようになります。

<img src="data:image/png;base64,base64_string_here" 
    alt="base64 image name" width="600" height="400" border="1" /> 

ChromeとFirefoxはこれらのイメージをデコードし、デフォルト表示することができない代わりに、画像を「画像を読み込むことができません」。私はブラウザに渡しているbase64イメージが正しいことを確認しました。実際、Safariは同じ画像を表示するのに問題はありません。

代わりに、ブラウザで、同様のbase64でエンコードされたpdfsをデコードするようにしましたが、これはうまくいきませんでした。 (繰り返しますが、それはChromeとFirefoxの上で動作しますが、Safariで働いていませんでした。)

<img src="data:application/pdf;base64,base64_string_here" 
    alt="base64 pdf name" width="600" height="400" border="1" /> 

Chromeバージョン:18.0、FFのバージョン:11.0

誰もがここで間違っている可能性が何を知っていますか? (私が表示しようとしているbase64でエンコードされた画像は、USPS出荷ラベルです)。

+0

あなたは、base64データを一つの完全な例を投稿することができますか? –

+0

Firefoxが元の画像を開くことができることを確認しましたか? – Anonymous

+0

ここにbase64データへのリンクがあります:http://pastebin.com/KGvQUDYN –

答えて

0

TIF画像を開く可能性は非常に高いですが、TIF画像と言えばTIF画像です。現在、あなたの例では、あなたがそれらを言っている、彼らは問題であるべきPNG画像である...試してみてください。実際には

<img src="data:image/tiff;base64,base64_string_here" 
    alt="base64 image name" width="600" height="400" border="1" /> 
0

を、あなたは正しいMIMEタイプを供給しても、クロム、FirefoxとOperaはありません.TIFファイルはネイティブにサポートされています:それらを処理するにはプラグインが必要です。

ここで画像ファイルのブラウザのサポートの便利な要約があります:http://en.wikipedia.org/wiki/Comparison_of_web_browsers#Image_format_support

+0

これは、Google Chromeがimgタグでpdfsをサポートしていると主張しているようです。しかし、私がを試しても画像は表示されません(Safariなどでも同様です)。 –

-1

それは(Google Chromeの最新バージョン60のアップデートで)データのURLにトップフレームナビゲーションをブロックするために、最近のクロムチームの決定とは何かを持っています。

https://productforums.google.com/forum/#!topic/chrome/wvYYcBwJ9FA;context-place=topicsearchin/chrome/category $ 3AStable%は7Csort:関連性%7Cspell:偽

+0

2012年にChrome 18を使用している間にOPがこの問題を経験していたと考えて、そうは思われません。 – duskwuff