我的文件来自mongoDB的gridFS作为流。我需要将内容转换为base64格式。我的代码看起来像这样:
utils.readFileFromDb('fileID', "collectionName",
function(err, result) {
var dbResult = result.pipe(base64.encode()));};
在这里,我正在进行mongoDB调用并根据gridFS中的文件ID获取文件。回调的结果包含流文件内容。我尝试使用base64-stream模块,但只将结果作为对象。
答案 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并将其附加到数据事件中。在结束事件中,我正在做我需要做的事情。
我希望它会帮助某人。其他答案也将受到欢迎。