需求:浏览器中的<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编码);