2012-04-01 102 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