将图片转成 datauri 嵌入到 html
问题:将图片转成 datauri
今天,在 QQ 群有个群友问了个问题:“nodejs 读取图片,转成 base64,怎么读取呢?” 想了一下,他想问的应该是 怎么样把图片嵌入到网页中去,即如何把图片转成对应的 datauri。
是个不错的问题,而且也是个很常用的功能。快速实现了个简单的 demo,这里顺便记录一下。
实现思路
思路很直观:1、读取图片二进制数据 -> 2、转成 base64 字符串 -> 3、转成 datauri。
关于 base64 的介绍,可以参考阮一峰老师的 文章 。而 datauri 的格式如下
data:[][;base64],
具体到 png 图片,大概如下,其中 “xxx” 就是前面的 base64 字符串了。接下来,我们看下在 nodejs 里该如何实现
data: image/png;base64, xxx
具体实现
首先,读取本地图片二进制数据。
var fs = require('fs');
var filepath = './1.png';
var bData = fs.readFileSync(filepath);
然后,将二进制数据转换成 base64 编码的字符串。
var base64Str = bData.toString('base64');
最后,转换成 datauri 的格式。
var datauri = 'data:image/png;base64,' + base64Str;
完整例子代码如下,代码非常少:
var fs = require('fs');
var filepath = './1.png';
var bData = fs.readFileSync(filepath);
var base64Str = bData.toString('base64');
var datauri = 'data:image/png;base64,' + base64Str;
console.log(datauri);
相关链接
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论