base64编码的图像在IE / Edge中显示良好,但在Chrome / Firefox中不显示

时间:2017-01-30 22:01:44

标签: html base64

所以我随机从images.google.com"驾驶执照"中抓取了5个jpg图像。然后我使用org.apache.commons.codec.binary.Base64库对所有这些进行编码,并在html网页上将它们吐出来。除了这张图片外,它们看起来都很棒。它在IE / Edge中显示良好,但在Chrome / Firefox中不显示。

有什么想法吗?我使用的图书馆或jpg图像本身有什么奇怪的东西是不是很奇怪?

这是一个证明问题的方法:

https://jsfiddle.net/ccw6vu81/

bootstrap.sh

我会发布一个stacksnippet但是一段时间回来当SO全部政治并且在他们的网站上有彩虹时我阻止了他们的所有图像所以我可能找不到创建堆栈片段的链接。我并不反对LGBT和彩虹只是因为我患有眼部偏头痛,我发现彩虹一般会引发一种我觉得不愉快的惊恐发作。

1 个答案:

答案 0 :(得分:0)

好的神秘解决了。显然,当我下载所有样本图像时,我没有足够关注这些类型。其中一个文件是.png而不是.jpg。所以这个特殊的形象是一个png,其余的都是jpg。这不一定是一个问题但是我用来导入这些文件的中间工具然后我将它们转换为base64只留下JPG但是将png文件转换为tiff文件。那么我base64对tiff文件进行编码并尝试在网页中显示它们,这显然适用于IE / Edge但不适用于Chrome / FF。 png的实际base64编码适用于所有浏览器,遗憾的是,这个中间工具不会将png作为pngs。我通过从http://www.nightprogrammer.org/wp-uploads/2013/02/multipage_tiff_example.tif下载.tif文件将其转换为base64然后将其嵌入到标记中来确认这一点。它适用于Edge / IE,但不适用于FF / Chrome。显然IE / Edge有一个可以转换tif图像的引擎,但Chrome和FF却没有。