从流中获取blob

时间:2017-09-21 02:02:32

标签: javascript meteor pdfkit

此Meteor服务器代码尝试创建pdf以将其附加到电子邮件。它使pdf Ok,但是当它放入blob时,它会返回此错误:

  

TypeError:Blob不是函数

"use strict";
let PDFDocument = require('pdfkit');
let blobStream = require('blob-stream');

'make': function () {
    let doc = new PDFDocument(metaData);  // readable Node streams
    let stream = doc.pipe(blobStream());
    doc.fontSize('14')
      .text('some text')
      .end();
    stream.on('finish', function (blob) {
      return stream.toBlob(blob); //<=== error line
    });
  },

1 个答案:

答案 0 :(得分:2)

根据Documentation dinosaur - stega height : 25 - bronto height : 25 期望blob的输出类型,即stream.toBlob()application/text

请你试试下面的代码,

application/pdf

请仔细阅读文档。它在下面说,

  

PDFDocument实例是可读的节点流。它们不会自动保存在任何地方,但您可以调用stream.on('finish', function () { //get a blob you can do whatever you like with blob = stream.toBlob('application/pdf'); return blob; }); 方法将PDF文档的输出发送到正在编写的另一个可写节点流。完成文档后,请调用pipe方法进行最终确定。下面是一个示例,说明如何管道传输文件或HTTP响应。

end