Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例


Posted in NodeJs onNovember 21, 2016

问题:将图片转成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);

demo地址

demo地址请点击这里

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
Nodejs极简入门教程(二):定时器
Oct 25 NodeJs
Nodejs关于gzip/deflate压缩详解
Mar 04 NodeJs
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
Dec 30 NodeJs
nodejs基础应用
Feb 03 NodeJs
nodejs搭建本地http服务器教程
Mar 13 NodeJs
nodejs socket实现的服务端和客户端功能示例
Jun 02 NodeJs
nodejs实现的连接MySQL数据库功能示例
Jan 25 NodeJs
nodejs+mongodb aggregate级联查询操作示例
Mar 17 NodeJs
nodejs 简单实现动态html的方法
May 12 NodeJs
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
Oct 17 NodeJs
nodejs实现用户登录路由功能
May 22 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 NodeJs
Nodejs下DNS缓存问题浅析
Nov 16 #NodeJs
NodeJS中的MongoDB快速入门详细教程
Nov 11 #NodeJs
Nodejs中解决cluster模块的多进程如何共享数据问题
Nov 10 #NodeJs
NodeJS整合银联网关支付(DEMO)
Nov 09 #NodeJs
nodejs的HTML分析利器node-jquery用法浅析
Nov 08 #NodeJs
Jquery通过ajax请求NodeJS返回json数据实例
Nov 08 #NodeJs
NodeJS和BootStrap分页效果的实现代码
Nov 07 #NodeJs
You might like
php实现分页工具类分享
2014/01/09 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
thinkphp使用phpmailer发送邮件的方法
2014/11/24 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
2016/11/29 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
Three.js实现简单3D房间布局
2018/12/30 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
浅谈Python的异常处理
2016/06/19 Python
pandas实现选取特定索引的行
2018/04/20 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
在PyCharm中批量查找及替换的方法
2019/01/20 Python
在SQLite-Python中实现返回、查询中文字段的方法
2019/07/17 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
里程积分管理买卖交换平台:Points.com
2017/01/13 全球购物
Oakley西班牙官方商店:太阳眼镜和男女运动服
2019/04/26 全球购物
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
校长寄语大全
2014/04/09 职场文书
成绩单公证书
2014/04/10 职场文书
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
《天使的翅膀》读后感3篇
2019/12/20 职场文书
python缺失值的解决方法总结
2021/06/09 Python
MySQL慢查询优化解决问题
2022/03/17 MySQL