我正在尝试在使用PDFkit创建服务器端PDF时将图像插入其中。我使用cfs:dropbox存储我的文件。以前,当我使用cvs:filesystem时,很容易添加我的pdf中的图像,因为它们就在那里。现在它们被远程存储,我不确定如何添加它们,因为PDFkit不支持仅使用URL添加图像。但是,它将接受缓冲区。我怎样才能从我的CollectionFS文件获取缓冲区?
目前为止,我有这样的东西:
目前为止,我有这样的东西:
var portrait = Portraits.findOne('vS2yFy4gxXdjTtz5d');
readStream = portrait.createReadStream('portraits');
我尝试了两种方法获取缓冲区:
首先使用dataMan,但最后一条命令从未返回:
var dataMan = new DataMan.ReadStream(readStream, portrait.type());
var buffer = Meteor.wrapAsync(Function.prototype.bind(dataMan.getBuffer, dataMan))();
手动进行第二次缓冲流:
var buffer = new Buffer(0);
readStream.on('readable', function() {
buffer = Buffer.concat([buffer, readStream.read()]);
});
readStream.on('end', function() {
console.log(buffer.toString('base64'));
});
这也似乎永远不会回来。我仔细检查了我的文档,确保它在那里,并且具有有效的URL,当我在浏览器中输入该URL时,图像也出现了。我错过了什么吗?
readStream.read()
? - Christian Fritzreadable
替换为data
*。 - Brian Shamblen