Nodejs进阶:如何将图片转成datauri嵌入到网页中去

问题:将图片转成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);

github demo地址

demo地址请点击这里,或者

git clone https://github.com/chyingp/nodejs-learning-guide.git
cd nodejs-learning-guide/examples/2016.11.15-base64-datauri
node server.js

然后在浏览器访问 http://127.0.0.1:3000,就可以看到效果 :)

相关链接

Base64笔记:http://www.ruanyifeng.com/blog/2008/06/base64.html
Data URIs:https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs

时间: 2024-09-04 11:57:50

Nodejs进阶:如何将图片转成datauri嵌入到网页中去的相关文章

将RTF格式的文件转成HTML并在网页中显示的代码

将RTF格式的文件转成HTML并在网页中显示的代码 它是这样工作的,将一个RTF文件上传,然后转成HTML显示出来,代码有点复杂,teaman还要好好研究,好象中文版有点问题.     <html>     <body>     <?     if(!($userfile)) {     ?>     <form enctype="multipart/form-data" action="<?print($PHP_SELF);?

.net 实现图片上传的同时在网页中显示,主要是上传控件没有事件,想不出怎么弄,求大手指点

问题描述 .net实现图片上传的同时在网页中显示,主要是上传控件没有事件,想不出来怎么弄,求大手指点 解决方案 解决方案二:如果你是用的服务器控件,那也有事件的啊如果你不是的话,那就要用js来通知更新,可以的方法有:1.后台返回js,更新指定img2.前端定时轮询,超出次数则提示上传失败

将RTF格式的文件转成HTML并在网页中显示的代码_php基础

将RTF格式的文件转成HTML并在网页中显示的代码 它是这样工作的,将一个RTF文件上传,然后转成HTML显示出来,代码有点复杂,teaman还要好好研究,好象中文版有点问题.     <html>     <body>     <?     if(!($userfile)) {     ?>     <form enctype="multipart/form-data" action="<?print($PHP_SELF);?

减少HTTP请求之将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片(大型网站优化技术)

原文:减少HTTP请求之将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片(大型网站优化技术) 在网站开发过程中,对于页面的加载效率一般都想尽办法求快.那么,怎么让才能更快呢?减少页面请求 是一个优化页面加载速度很好的方法.上一篇博文我们讲解了 "利用将小图标合成一张背景图来减少HTTP请求",那么,这一篇博文将讲解  " 将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片". 一.为何选择将图片转成二进制并生成Base64编

怎么用dcm4che 把dcm格式的图片转成jpg格式啊?

问题描述 怎么用dcm4che 把dcm格式的图片转成jpg格式啊? 我的代码如下: import java.io.File; import java.io.IOException; import org.dcm4che3.tool.dcm2jpg.Dcm2Jpg; import org.junit.Test; public class TestDcm2jpg { @Test public void testDcm2jpg2(){ try{ File src = new File("E:/影像实

图片保存成文件-如何将Html网页生成的二维码图片保存成PNG图片文件存放到服务器上

问题描述 如何将Html网页生成的二维码图片保存成PNG图片文件存放到服务器上 目前已实现动态生成二维码图片,生成地址:http://wx.yseasy.com/erweima_1.asp?val=yyy 但需要将该图片保存下来以方便调用,目前想到有两种方案: 1.将图片的base64位编码保存到数据库,调用时解码显示//(这种方法小菜不知该如何获取它的base64位编码) 2.将图片保存成文件存放到服务器,再将图片路径保存到数据库,再调用显示//(这种方法小菜不知道该如何将此生成图保存为文件)

PS把图片处理成艺术效果:漂亮的水彩儿童照片

把图片处理成艺术效果需要较强的创意能力.如下面的教程,作者非常巧妙的把一些水彩及纹理背景融入到经过特殊处理的人像中,效果有点类似大师的简洁风格水彩画.简洁却透露出无限的艺术遐想. 原图 最终效果 [1] [2] [3] [4] [5] [6] [7] [8]  下一页

python使用PythonMagick将jpg图片转换成ico图片的方法

  这篇文章主要介绍了python使用PythonMagick将jpg图片转换成ico图片的方法,涉及PythonMagick模块操作图片的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了python使用PythonMagick将jpg图片转换成ico图片的方法.分享给大家供大家参考.具体分析如下: 这里使用到了PythonMagick模块,关于PythonMagick模块和ImageMagick的详细信息请参考:http://www.imagemagick.org/. 下面这段

win7系统下png图片转换成jpg格式的方法

  win7系统下png图片转换成jpg格式的方法            方法一:通过重命名的方法转换. 1.在电脑中找到要转换成jpg格式的png图片; 2.然后鼠标右键点击该png图片,在弹出的菜单中,点击"重命名"; 3.然后在重命名的图片输入框里,如下图点击选择png; 4.接下来如下图将png直接修改成jpg; 5.将png修改成jpg后,在修改输入框外边,点击下鼠标,这时png图片的格式即成功修改成jpg格式了.