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中SSL服务的性能
Jul 15 NodeJs
NodeJS制作爬虫全过程
Dec 22 NodeJs
nodejs开发——express路由与中间件
Mar 24 NodeJs
详解使用PM2管理nodejs进程
Oct 24 NodeJs
nodeJS模块简单用法示例
Apr 21 NodeJs
nodejs的路径问题的解决
Jun 30 NodeJs
NodeJS如何实现同步的方法示例
Aug 24 NodeJs
nodejs中用npm初始化来创建package.json的实例讲解
Oct 10 NodeJs
Nodejs处理异常操作示例
Dec 25 NodeJs
nodejs实现日志读取、日志查找及日志刷新的方法分析
May 20 NodeJs
NodeJS有难度的面试题(能答对几个)
Oct 09 NodeJs
分享node.js实现简单登录注册的具体代码
Apr 26 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
利用discuz自带通行证整合dedecms的方法以及文件下载
2007/03/06 PHP
php 运行效率总结(提示程序速度)
2009/11/26 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
2013/05/23 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
JavaScript调用Activex控件的事件的实现方法
2010/04/11 Javascript
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
2016/05/04 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
基于jQuery实现瀑布流页面
2017/04/11 jQuery
nodejs操作mysql实现增删改查的实例
2017/05/28 NodeJs
详解webpack模块化管理和打包工具
2018/04/21 Javascript
Python获取远程文件大小的函数代码分享
2014/05/13 Python
Python函数中定义参数的四种方式
2014/11/30 Python
Python多线程编程(六):可重入锁RLock
2015/04/05 Python
Python编程实战之Oracle数据库操作示例
2017/06/21 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
对Pycharm创建py文件时自定义头部模板的方法详解
2019/02/12 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
opencv实现简单人脸识别
2021/02/19 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
python如何求圆的面积
2020/07/01 Python
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
2017/08/15 HTML / CSS
路易威登和香奈儿手袋:LuxeDH
2017/01/12 全球购物
餐厅采购员岗位职责
2014/03/06 职场文书
外贸业务员求职信
2014/06/16 职场文书
2014年班级工作总结
2014/11/14 职场文书
如何在python中实现ECDSA你知道吗
2021/11/23 Python
python实现简单的三子棋游戏
2022/04/28 Python