2012-03-30 134 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數據的一個完整的例子嗎? – 2012-03-30 03:27:34

+0

您是否驗證過Firefox可以打開原始圖像? – Anonymous 2012-03-30 05:39:26

+0

下面是base64數據的鏈接:http://pastebin.com/KGvQUDYN – 2012-03-30 17:48:38

回答

0

Chrome和Firefox很可能會打開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標籤中的pdf。但是,如果我嘗試,則圖像不顯示(儘管它在例如Safari中)。 – 2015-07-24 17:01:31