浏览器异步加载服务器端的图片

jopen 9年前

需求:浏览器中的img标签动态更换来自服务器端的图片。

1.java后台service访问服务器端本地资源,生成二进制数据,转成base64编码。

BASE64Encoder encoder = new sun.misc.BASE64Encoder();   File file = new File(fileurl);    FileInputStream fips = new FileInputStream(file);    ByteArrayOutputStream bops = new ByteArrayOutputStream();    int data = -1;    try {        while((data = inStream.read()) != -1){            bops.write(data);        }  } catch(Exception e){        return null;    }   byte[] btImg = bops.toByteArray();  return encoder.encodeBuffer(btImg).trim();

2.前台js接收上面来自服务器后台的base64编码,设置为img标签的src。

//可以使用ajax接收来自服务器端的base64编码  $("img").attr("src", "data:image/jpeg;base64," + 来自服务器的base64编码);



来自: http://my.oschina.net/chenhao901007/blog/368586