最近查看某网站图片时意外看到如下:
非常好奇,去查了下,属于一种图片base64转字符串后由浏览器以图片方式显示的方式.
用在前端处理图片:
1 这种方式用在网页上,处理较小的图片时,可以让浏览器发少送一次请求,达到优化访问的目的.
2 存在浏览器兼容问题 IE11 不支持,chrome,firefox支持
3 文件因为base64转换后会变大
用在后端处理文件:
1 字符流的形式传递文件,极大的方便了小型文件的操作,如webservice里使用,以xml方式传输文件
2 不仅仅图片,可以处理任何形式的文件
相关代码:
ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(image, "PNG", out);
String str = new String(Base64.encodeBase64(out.toByteArray()));
不推荐在前端使用