使用数据流显示图片可以减少网络请求,因为无需存储图片文件,而是以代码形式保存。缺陷是图片不能太大,否则数据代码过多影响加载速度。通常,以数据流形式显示的图片应该保持在数十千字节以下,并且不能大量使用,否则影响本机CPU和内存占用。
数据流是以Data URL协议来显示图片的,因此,将图片数据流直接复制到浏览器地址栏就可以显示出图片。而在网页中,数据流图片的典型应用如下:
<img src="data:image/jpeg;base64,/9j/4AAQSkZJRg......OyJs1yro2/9k=">
图片数据流的形成,是以二进制格式读取原图数据,然后用Base64编码数据形成64个ASCII字符组成的字符串,把这个字符串保存在代码中,浏览器需要显示该图像时根据数据代码直接绘制,而无需向服务器发送请求。Base64编码后的数据是原图数据量的4/3,这也是它的缺点之一。
总之,数据流图片只适用于少量的较小图片。