将流式文件内容转换为base64格式

时间:2015-01-29 08:04:00

标签: node.js

我的文件来自mongoDB的gridFS作为流。我需要将内容转换为base64格式。我的代码看起来像这样:

utils.readFileFromDb('fileID', "collectionName",
      function(err, result) {
var dbResult = result.pipe(base64.encode()));};

在这里,我正在进行mongoDB调用并根据gridFS中的文件ID获取文件。回调的结果包含流文件内容。我尝试使用base64-stream模块,但只将结果作为对象。

1 个答案:

答案 0 :(得分:0)

我找到了这样做的方法。

 var base64data = '';

 result.on('data', function(result) {
  base64data += new Buffer(result).toString('base64');

});

result.on('end', function() {
  console.log('dbResult : ' + base64data);
//do your stuff here with base64data wich contains string encoded in base64 format.....
});

在这里,我将每个块从结果转换为base64并将其附加到数据事件中。在结束事件中,我正在做我需要做的事情。

我希望它会帮助某人。其他答案也将受到欢迎。