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学习笔记之网络编程
Aug 03 NodeJs
nodejs中实现阻塞实例
Mar 24 NodeJs
nodejs实现获取当前url地址及url各种参数值
Jun 25 NodeJs
Nodejs 发送Post请求功能(发短信验证码例子)
Feb 09 NodeJs
详解Nodejs之静态资源处理
Jun 05 NodeJs
Nodejs+express+ejs简单使用实例代码
Sep 18 NodeJs
浅谈NodeJs之数据库异常处理
Oct 25 NodeJs
nodejs判断文件、文件夹是否存在及删除的方法
Nov 10 NodeJs
windows系统下更新nodejs版本的方案
Nov 24 NodeJs
nodejs发送http请求时遇到404长时间未响应的解决方法
Dec 10 NodeJs
NodeJS模块Buffer原理及使用方法解析
Nov 11 NodeJs
详解nodejs内置模块
May 06 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
xajax写的留言本
2006/11/25 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
jQuery与ExtJS之选择实例分析
2010/08/19 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
2011/11/04 Javascript
JavaScript闭包实例讲解
2014/04/22 Javascript
Javascript获取表单名称(name)的方法
2015/04/02 Javascript
js HTML5手机刮刮乐代码
2020/09/29 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
前端主流框架vue学习笔记第二篇
2017/07/26 Javascript
React Native之TextInput组件解析示例
2017/08/22 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
Spring Boot/VUE中路由传递参数的实现代码
2018/03/02 Javascript
JS内部事件机制之单线程原理
2018/07/02 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
微信小程序实现图片翻转效果的实例代码
2019/09/20 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
python多线程抓取天涯帖子内容示例
2014/04/03 Python
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
小学教师岗位职责
2013/11/25 职场文书
计算机专业毕业生求职信分享
2013/12/24 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
2014最新党员违纪检讨书
2014/10/12 职场文书
乡镇2014法制宣传日活动总结
2014/11/01 职场文书
学校三八妇女节活动总结
2015/02/06 职场文书
党员进社区活动总结
2015/05/07 职场文书
研究生毕业登记表的自我鉴定范文
2019/07/15 职场文书
话题作文之成长
2019/12/09 职场文书
MySQL连接控制插件介绍
2021/09/25 MySQL