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中自定义事件实例
Jun 20 NodeJs
nodejs中使用monk访问mongodb
Jul 06 NodeJs
NodeJS学习笔记之网络编程
Aug 03 NodeJs
nodejs URL模块操作URL相关方法介绍
Mar 03 NodeJs
NodeJS远程代码执行
Aug 28 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 NodeJs
详解nodejs操作mongodb数据库封装DB类
Apr 10 NodeJs
nodejs body-parser 解析post数据实例
Jul 26 NodeJs
nodejs 图片预览和上传的示例代码
Sep 30 NodeJs
nodejs简单读写excel内容的方法示例
Mar 16 NodeJs
5分钟教你用nodeJS手写一个mock数据服务器的方法
Sep 10 NodeJs
NodeJS http模块用法示例【创建web服务器/客户端】
Nov 05 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操作SVN版本服务器类代码
2011/11/27 PHP
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
BOOM vs RR BO5 第三场 2.14
2021/03/10 DOTA
javascript字典探测用户名工具
2006/10/05 Javascript
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
javascript eval函数深入认识
2009/02/21 Javascript
基于jQuery的ajax功能实现web service的json转化
2009/08/29 Javascript
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
js+css3实现旋转效果
2017/01/20 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
2017/04/12 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
[38:21]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS LGD-CDEC
2014/05/22 DOTA
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
Python实现的tcp端口检测操作示例
2018/07/24 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
Python 运行 shell 获取输出结果的实例
2019/01/07 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
Flask缓存静态文件的具体方法
2020/08/02 Python
关于python scrapy中添加cookie踩坑记录
2020/11/17 Python
CSS3绘制不规则图形的一些方法示例
2015/11/07 HTML / CSS
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
BASIC HOUSE官方旗舰店:韩国著名的服装品牌
2018/09/27 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
NHL官方在线商店:Shop.NHL.com
2020/05/01 全球购物
心理健康教育心得体会
2013/12/29 职场文书
初中生自我评价
2014/02/01 职场文书
单位病假条范文
2015/08/17 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
CentOS7 minimal 最小化安装网络设置过程
2022/12/24 Servers