Firefox和Chrome不会解码base64图像或pdf文件

问题描述:

我试图使用数据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

Chrome和Firefox很可能会打开TIF图像 - 如果您告诉它们,它们就是TIF图像。目前,在你的榜样,你告诉他们,他们是PNG图像,这应该是问题...尝试:

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

实际上,即使您提供正确的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

它是与最近的Chromium团队的决定,阻止顶框架的导航数据的URL(谷歌浏览器的最新版本60更新)。

https://productforums.google.com/forum/#!topic/chrome/wvYYcBwJ9FA;context-place=topicsearchin/chrome/category $ 3AStable%7Csort:相关%7Cspell:假

+0

这似乎不太可能,考虑到OP在2012年使用Chrome 18时遇到了这个问题。 – duskwuff 2017-09-28 22:51:34