我试图将图像插入到pdf中我正在使用PDFkit创建服务器端。我正在使用cfs:dropbox来存储我的文件。之前当我使用cvs:filesystem时,很容易将图像添加到我的pdf中,因为它们就在那里。既然它们是远程存储的,我不知道如何添加它们,因为PDFkit不支持仅使用url添加图像。但是,它会接受缓冲区。我如何从我的CollectionFS文件获取缓冲区?我如何从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()'? –
“永远不会回来”我的意思是“结束”事件的回调永远不会执行(我没有在控制台中看到日志消息)。 –