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 相关文章推荐
Google官方支持的NodeJS访问API,提供后台登录授权
Jul 29 NodeJs
轻松创建nodejs服务器(9):实现非阻塞操作
Dec 18 NodeJs
nodejs中实现sleep功能实例
Mar 24 NodeJs
Nodejs全局安装和本地安装的不同之处
Jul 04 NodeJs
NodeJs测试框架Mocha的安装与使用
Mar 28 NodeJs
nodejs入门教程六:express模块用法示例
Apr 24 NodeJs
nodejs操作mongodb的填删改查模块的制作及引入实例
Jan 02 NodeJs
Nodejs中怎么实现函数的串行执行
Mar 02 NodeJs
使用nodejs分离html文件里的js和css详解
Apr 12 NodeJs
搭建一个nodejs脚手架的方法步骤
Jun 28 NodeJs
nodejs中使用worker_threads来创建新的线程的方法
Jan 22 NodeJs
NodeJs内存占用过高的排查实战记录
May 10 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
Memcache 在PHP中的使用技巧
2010/02/08 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
PHP中list方法用法示例
2016/12/01 PHP
PHP迭代器接口Iterator用法分析
2017/12/28 PHP
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
JavaScript中的prototype.bind()方法介绍
2014/04/04 Javascript
详解JavaScript语法对{}处理的坑爹之处
2014/06/05 Javascript
javascript写的异步加载js文件函数(支持数组传参)
2014/06/07 Javascript
jQuery 和 CSS 的文本特效插件集锦
2014/12/12 Javascript
图解js图片轮播效果
2015/12/20 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
详解ECharts使用心得总结
2016/12/06 Javascript
Vue 获取数组键名的方法
2018/06/21 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
vue项目中常见问题及解决方案(推荐)
2019/10/21 Javascript
vue ssr+koa2构建服务端渲染的示例代码
2020/03/23 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
浅谈python新式类和旧式类区别
2019/04/26 Python
Python高级property属性用法实例分析
2019/11/19 Python
pandas 对group进行聚合的例子
2019/12/27 Python
Xadmin+rules实现多选行权限方式(级联效果)
2020/04/07 Python
使用keras实现非线性回归(两种加激活函数的方式)
2020/07/05 Python
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
汽车专业毕业生自荐信
2013/11/03 职场文书
医学院学生的自我评价分享
2013/11/19 职场文书
校运会广播稿100字
2014/01/27 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
美德少年主要事迹材料
2015/11/04 职场文书
i7 6700处理器相当于i5几代
2022/04/19 数码科技