浏览器异步加载服务器端的图片
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编码);