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文件操作模块FS(File System)常用函数简明总结
Jun 05 NodeJs
轻松创建nodejs服务器(4):路由
Dec 18 NodeJs
轻松创建nodejs服务器(9):实现非阻塞操作
Dec 18 NodeJs
Nodejs读取文件时相对路径的正确写法(使用fs模块)
Apr 27 NodeJs
浅谈nodejs中的类定义和继承的套路
Jul 26 NodeJs
nodejs+express搭建多人聊天室步骤
Feb 12 NodeJs
nodejs实现解析xml字符串为对象的方法示例
Mar 14 NodeJs
nodejs实现超简单生成二维码的方法
Mar 17 NodeJs
nodeJs爬虫的技术点总结
May 13 NodeJs
基于nodejs的雪碧图制作工具的示例代码
Nov 05 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
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
PHP错误机制知识汇总
2016/03/24 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
PHP如何解决微信文章图片防盗链
2020/12/09 PHP
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
2010/08/11 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
用JavaScript实现使用鼠标画线的示例代码
2014/08/19 Javascript
js动态切换图片的方法
2015/01/20 Javascript
JS实现支持多选的遍历下拉列表代码
2015/08/20 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
2015/10/10 Javascript
nodejs修复ipa处理过的png图片
2016/02/17 NodeJs
JS中的==运算: [''] == false —>true
2016/07/24 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
2019/04/28 Javascript
如何在微信小程序中实现Mixins方案
2019/06/20 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
Python的Bottle框架中返回静态文件和JSON对象的方法
2015/04/30 Python
Python中list初始化方法示例
2016/09/18 Python
python利用tkinter实现屏保
2019/07/30 Python
Python使用正则实现计算字符串算式
2019/12/29 Python
Python如何读取、写入CSV数据
2020/07/28 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
三好学生自我鉴定
2013/12/17 职场文书
机房搬迁方案
2014/05/01 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
检讨书范文1000字
2015/01/28 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技