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框架Express的模板视图机制分析
Jul 19 NodeJs
使用Nodejs开发微信公众号后台服务实例
Sep 03 NodeJs
基于NodeJS的前后端分离的思考与实践(二)模版探索
Sep 26 NodeJs
Nodejs从有门道无门菜鸟起飞必看教程
Jul 20 NodeJs
nodejs实例解析(输出hello world)
Jan 03 NodeJs
nodejs和php实现图片访问实时处理
Jan 05 NodeJs
nodejs操作mysql实现增删改查的实例
May 28 NodeJs
详解nodeJS之路径PATH模块
May 31 NodeJs
NodeJS自定义模块写法(详解)
Jun 27 NodeJs
nodejs实现简单的gulp打包
Dec 21 NodeJs
nodeJs爬虫的技术点总结
May 13 NodeJs
Nodejs处理异常操作示例
Dec 25 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另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
判断浏览器的javascript版本的代码
2010/09/03 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
javascript+css3 实现动态按钮菜单特效
2016/02/06 Javascript
Bootstrap创建可折叠的组件
2016/02/23 Javascript
JavaScript排序算法动画演示效果的实现方法
2016/10/18 Javascript
vue2.0的contextmenu右键弹出菜单的实例代码
2017/07/24 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
JS实现多选框的操作
2020/06/24 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
最大K个数问题的Python版解法总结
2016/06/16 Python
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
利用python将json数据转换为csv格式的方法
2018/03/22 Python
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
python字符串string的内置方法实例详解
2018/05/14 Python
详解Python做一个名片管理系统
2019/03/14 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
经典c++面试题二
2015/08/14 面试题
医学生自荐信范文
2013/12/03 职场文书
大学生个人自荐信
2014/02/24 职场文书
史学专业毕业生求职信
2014/05/09 职场文书
校园安全标语
2014/06/07 职场文书
2014年车间主任工作总结
2014/12/10 职场文书
五好文明家庭事迹材料
2014/12/20 职场文书
高中团支书竞选稿
2015/11/21 职场文书