我正在尝试将图像插入到我正在使用 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 放入浏览器中时图像会出现。我错过了什么吗?