我試圖將圖像插入到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()'? –
「永遠不會回來」我的意思是「結束」事件的回調永遠不會執行(我沒有在控制檯中看到日誌消息)。 –