2011-06-21 13 views

回答

5

是的,這是可能的。

當您的serverscript打開圖像文件並將它們編碼爲base64字符串時,幾乎所有的瀏覽器(IE7及以下版本除外)都可以處理該文件。例如:

jQuery('<img>', { 
    src: 'data:image/jpeg;base64,' + someBase64EncodedString 
}).appendTo(document.body); 

這方面的一個現實世界的例子,可以在這裏找到:https://github.com/jAndreas/Supply

+0

這個答案很好。它承認下面的IE7有問題。我也在MSDN上發現了這一點: http://msdn.microsoft.com/en-us/library/cc848897%28VS.85%29.aspx 「數據URI不能大於32,768個字符。」這限制了您可以加載的圖像類型。 – ricosrealm

1

如果返回你很可能不使用data URIs並可能帆布它的base64編碼的圖像數據。

一些「僞」代碼(使用PHP和JS + jQuery)來演示你可以做什麼。

服務器:

$image = new Imagick($imagePath); 
echo 'data:image/png;base64,' . base64_encode($image); 

客戶:

$.ajax({ 
    method: "post", 
    url: "/foo/bar.php", 
    success: function (data) { 
     $("<img />").attr("src", data).appendTo("#myContainer"); 
    } 
}); 
+0

+1謝謝你的深入代碼 – ricosrealm