如果你确实需要使用Ajax ...
我来到翻过usecases在onload事件处理程序是不是正确的选择。在我的情况下,通过JavaScript打印。所以实际上有两种选择使用AJAX风格的:
解决方案1
使用Base64编码的图像数据和REST图像服务。如果您有自己的Web服务,则可以添加一个JSP/PHP REST脚本,该脚本以Base64编码提供图像。现在这有什么用?我碰到一个很酷的新的语法来对图像编码:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhE..."/>
所以,你可以加载使用Ajax图像Base64编码数据,然后在完成你建立Base64编码数据串的图像!非常有趣 :)。我建议使用此网站http://www.freeformatter.com/base64-encoder.html进行图像编码。
$.ajax({
url : 'BASE64_IMAGE_REST_URL',
processData : false,
}).always(function(b64data){
$("#IMAGE_ID").attr("src", "data:image/png;base64,"+b64data);
});
溶液2:
招数使用缓存的浏览器。这给你一个很好的淡入()当资源是在浏览器的缓存:
var url = 'IMAGE_URL';
$.ajax({
url : url,
cache: true,
processData : false,
}).always(function(){
$("#IMAGE_ID").attr("src", url).fadeIn();
});
然而,这两种方法都有它的缺点:一是只适用于现代的浏览器。第二个有性能故障,并依靠假设如何使用缓存。
欢呼声, 将
这对我的作品:https://stackoverflow.com/questions/6150289/how-to-convert -image-into-base64-string-using-javascript – MrRhoads 2017-10-11 02:07:18