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