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的url截取模块url-extract的使用实例
Nov 18 NodeJs
nodejs npm包管理的配置方法及常用命令介绍
Jun 05 NodeJs
详谈nodejs异步编程
Dec 04 NodeJs
Nodejs如何复制文件
Mar 09 NodeJs
NodeJS遍历文件生产文件列表功能示例
Jan 22 NodeJs
nodejs入门教程六:express模块用法示例
Apr 24 NodeJs
NodeJS实现微信公众号关注后自动回复功能
May 31 NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
Sep 18 NodeJs
详解nodeJs文件系统(fs)与流(stream)
Jan 24 NodeJs
nodejs搭建本地服务器轻松解决跨域问题
Mar 21 NodeJs
nodeJs爬虫的技术点总结
May 13 NodeJs
搭建一个nodejs脚手架的方法步骤
Jun 28 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中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
php设置允许大文件上传示例代码
2014/03/10 PHP
JavaScript入门教程 Cookies
2009/01/31 Javascript
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
最常用的12种设计模式小结
2011/08/09 Javascript
js统计页面的来访次数实现代码
2014/05/09 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
JS如何实现动态添加的元素绑定事件
2019/11/12 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
python中的二维列表实例详解
2018/06/19 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
解决python Markdown模块乱码的问题
2019/02/14 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
大数据分析用java还是Python
2020/07/06 Python
pycharm 的Structure界面设置操作
2021/02/05 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
使用css3制作动感导航条示例
2014/01/26 HTML / CSS
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
迪梵英国官方网站:Darphin英国
2017/12/06 全球购物
领导的自我鉴定
2013/12/28 职场文书
《中彩那天》教学反思
2014/02/22 职场文书
门店业绩提升方案
2014/06/08 职场文书
销售简历自我评价怎么写
2014/09/26 职场文书
如何写通讯稿
2015/07/22 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL