大家可能注意到了,网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如:data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNo8zjsOxCAMBFB/ KEAUFFR0Cbng3nQPw68ArZdAlOZppPFIBhH5EAB8b+Tlt9MYQ6i1BuqFaq1CKSVcxZ2Acs6406KUgpt5/ LCKuVgz5BDCSb13ZO99ZOdcZGvt4mJjzMVKqcha68iIePB86GAiOv8CDADlIUQBs7MD3wAAAABJRU5ErkJggg%3D%3D。那么这是什么呢?这是Data URI scheme。
Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入。比如上面那串字符,其实是一张小图片,将这些字符复制黏贴到火狐的地址栏中并转到,就能看到它了,一张1X36的白灰png图片。
在上面的Data URI中,data表示取得数据的协定名称,image/png 是数据类型名称,base64 是数据的编码方法,逗号后面就是这个image/png文件base64编码后的数据。
目前,Data URI scheme支持的类型有:
data:,文本数据
data:text/plain,文本数据
data:text/html,HTML代码
data:text/html;base64,base64编码的HTML代码
data:text/css,CSS代码
data:text/css;base64,base64编码的CSS代码
data:text/javascript,Javascript代码
data:text/javascript;base64,base64编码的Javascript代码
data:image/gif;base64,base64编码的gif图片数据
data:image/png;base64,base64编码的png图片数据
data:image/jpeg;base64,base64编码的jpeg图片数据
data:image/x-icon;base64,base64编码的icon图片数据
base64简单地说,它把一些 8-bit 数据翻译成标准 ASCII 字符,网上有很多免费的base64 编码和解码的工具,在PHP中可以用函数base64_encode() 进行编码,如echo base64_encode(file_get_contents(‘wg.png’));
目前,IE8、Firfox、Chrome、Opera浏览器都支持这种小文件嵌入。
举个图片的例子:
网页中一张图片可以这样显示:
<img src=“http://www.letuknowit.com/images/wg.png”/>也可以这样显示:<img src=“data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNo8zjsOxCAMBFB/KEAUFFR0Cbng3nQPw68ArZdAlOZppPFIBhH5EAB8b+Tlt9MYQ6i1BuqFaq1CKSVcxZ2Acs6406KUgpt5/LCKuVgz5BDCSb13ZO99ZOdcZGvt4mJjzMVKqcha68iIePB86GAiOv8CDADlIUQBs7MD3wAAAABJRU5ErkJggg%3D%3D”/> 我们把图像文件的内容直接写在了HTML 文件中,这样做的好处是,节省了一个HTTP 请求。坏处呢,就是浏览器不会缓存这种图像。大家可以根据实际情况进行自由取舍。
分享到:
相关推荐
在网页中把Base64字符串显示为图片很容易,但是当前台使用Thymeleaf框架时,就得绕个小弯子,直接使用html框架中的方法不行,本文详解了用Thymeleaf显示Base64字符串为图片的方法,望对大家有所帮助。
将图片转成Base64字符串。供前端Html <img/> 使用 将转换结果替换至src的值就OK了
js转base64,img标签显示本地图片,图片保存到本地,返回路径!
base64简单地说,它把一些 8-bit 数据翻译成标准 ASCII 字符,我们把图像文件的内容直接写在了HTML 文件中,这样做的好处是,节省了一个HTTP 请求
jmeter 实现图片base64 加密 Base64Data.jar
在用canvas将png图片转jpeg时,发现透明区域被填充成黑色。 代码如下: XML/HTML Code复制内容到剪贴板 <p>Canvas: style> <p>Base64转码后的图片: ... var base64Img = document
1.Java生成二维码示例 2.图片保存到本地或生成Base64编码 3.Base64编码生成图片
通过正则表达式,解析html中的<img 标签,获取图片地址。还有部分正则没处理显示
将np图片(imread后的图片)转码为base64格式 def image_to_base64(image_np): image = cv2.imencode('.jpg',image_np)[1] image_code = str(base64.b64encode(image))[2:-1] return image_code 将base64编码解析...
Base64处理后的图像资源,拷贝内容后可置于img标签的src中进行查看
以前写过一个很简单的,最近要用到,稍微加强了一下,一般图片转BASE64就用在网页的img标签中,所以特别为些做了些方便的小优化。 增加了可以从BASE64直接转化为图片的功能。 源码基于.NET 2.0,使用VS 2012编写
vue-cli3.0图片打包,小于10k的图片没有自动转base64问题处理
工具包可将图片文件转化为字节数组字符串,并对其进行Base64编码处理;并可对字节数组字符串进行Base64解码并生成图片。
HTML_img2base64 将本地HTML图像和SVG转换为base64 改编自 用法 将多个HTML文件拖放到HTML_img2base64 拖放文件.bat 输出文件与源文件位于同一文件夹中
php显示图片,php链接放到img src中,php图片显示src,php图片显示img src,php图片显示imgsrc
角度图像存储 这个项目是用版本 0.11.0。 建设与发展 运行grunt进行构建,运行grunt grunt serve进行预览。 测试 运行grunt test将使用 karma 运行单元测试。...Angularjs 使用画布在 img 标签中显示 base64 图像
Base64字符串转换成图片,图片转换成Base64字符串。。。
图片转为base64
动态设置img的src属性无效,而直接写可以 解决办法: imgSrc写成require(‘path’); 原因: 动态添加src被当做静态资源处理了,没有进行编译 npm run build 后出现 xxxxxxx net::ERR_FILE_NOT_FOUND 解决...
调用Web API接口FileReader中readAsDataURL方法读取数据(这个函数参数file标签获取到的文件路径),然后把数据加载到FileReader中(base64格式),之后就可以用Img来指定源时base64格式的数据,可以绘制图片。...