这样,简单的说我就要把一个二维码转化为图像,然后把图像信息保存到一个字符串,然后这个字符串传送出去。二维码代码很简单:
var qr = require(‘qr-image’);
var fs = require(‘fs’);
var code = qr.image(‘http://blog.nodejitsu.com/’, {type: ‘png’ });
var output = fs.createWriteStream(‘nodejitsu.png’);
code.pipe(output);
这样是把二维码保存在文件里面,这个不是我要的,我要保存在一个字符串里面,我想上面生成的code 应该是一个流,那么代码我写了个用
var Writable = require(‘stream’).Writable;
var ws = Writable();
的方式,似乎结果很糟糕。。。我不知道问题所在了。。。怎么样把流放到一个字符串里面,base64格式保存呢。。。
code 是流的话,就读取这个流啊。 我就知道这个 code.on(‘data’,function(data){ //… })
谢谢各位,群里的朋友看到了,已经帮我解答了,方式: var base64 = ‘’; code.on(‘data’, data => base64 += data.toString(‘base64’)).on(‘end’, () => console.log(base64));
你确定你这样写没问题? (new Buffer(‘a’)).toString(‘base64’)+ (new Buffer(‘a’)).toString(‘base64’) != (new Buffer(‘aa’)).toString(‘base64’)
@mabu233 没问题,我最后总结的代码: var qr = require(‘qr-image’); var code = qr.image(‘http://blog.nodejitsu.com/’, {type: ‘png’ }); var base64 = ‘’; code.on(‘data’, data => base64 += data.toString(‘base64’)).on(‘end’, () => console.log(base64));