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

adea1332 7年前
   <h2><strong>问题:将图片转成datauri</strong></h2>    <p>今天,在QQ群有个群友问了个问题:“nodejs读取图片,转成base64,怎么读取呢?” 想了一下,他想问的应该是 怎么样把图片嵌入到网页中去,即如何把图片转成对应的 datauri。</p>    <p>是个不错的问题,而且也是个很常用的功能。快速实现了个简单的demo,这里顺便记录一下。</p>    <h2><strong>实现思路</strong></h2>    <p>思路很直观:1、读取图片二进制数据 -> 2、转成base64字符串 -> 3、转成datauri。</p>    <p>关于base64的介绍,可以参考阮一峰老师的 文章 。而 datauri 的格式如下</p>    <p>data:[ ][;base64],</p>    <p>具体到png图片,大概如下,其中 “xxx” 就是前面的base64字符串了。接下来,我们看下在nodejs里该如何实现</p>    <p>data: image/png;base64, xxx</p>    <h2><strong>具体实现</strong></h2>    <p>首先,读取本地图片二进制数据。</p>    <pre>  <code class="language-javascript">var fs = require('fs');  var filepath = './1.png';    var bData = fs.readFileSync(filepath);</code></pre>    <p>然后,将二进制数据转换成base64编码的字符串。</p>    <pre>  <code class="language-javascript">var base64Str = bData.toString('base64');</code></pre>    <p>最后,转换成datauri的格式。</p>    <pre>  <code class="language-javascript">var datauri = 'data:image/png;base64,' + base64Str;</code></pre>    <p>完整例子代码如下,代码非常少:</p>    <p> </p>    <p>来自:http://www.cnblogs.com/chyingp/p/node-learning-guide-img-base64-datauri.html</p>    <p> </p>