2012-04-01 143 views
0
echo '<img src="data:image/jpg/png/jpeg;base64,' . base64_encode($row['image']) . '" height="150" />'; 

这是显示在Firefox,safari和铬的伟大的图像,但在Internet Explorer中显示一个不错的红十字,我认为这是因为编码?base64编码图像blob没有在IE中显示

有谁知道如何在Internet Explorer中工作?

很紧急的工作!

非常感谢您的帮助!

回答

1

尝试用data:image/jpeg;data:image/png;取代data:image/jpg/png/jpeg;,具体取决于图像的格式。你不能指望它是一个JPEG PNG

+0

我试过了,感谢您的建议,但我包含了不同的扩展名,并且我们不确定要上传哪张图片。 – user1250526 2012-04-01 12:01:37

+1

你需要在你的php代码中检测到这个(见http://php.net/manual/en/function.exif-imagetype.php)。 “image/jpg/png/jpeg”不是有效的MIME类型。 – mark4o 2012-04-01 12:16:28

+0

我明白了,但并不意味着它不应该能够在Firefox和Chrome中工作 – user1250526 2012-04-03 20:55:39

0

最有可能的旧IE或IE8的太大图像。

IE7及以下版本绝对不支持它。 IE9支持内联图片就好了。我IE8的支持有限。 - 查看http://en.wikipedia.org/wiki/Data_URI_scheme的列表。

+0

尝试更新我的IE为9,仍然不工作,任何其他的想法?感谢您的建议。 – user1250526 2012-04-01 12:09:17

+0

我不完全确定生成的HTML如何,所以没有特别的想法。 Followong页面在IE9中可以正常工作 - http://www.websiteoptimization.com/speed/tweak/inline-images/folder-test.html(http://www.websiteoptimization.com/speed/tweak/inline-图片/文章) - 看看它是否有帮助。 – 2012-04-01 18:57:37