4

我的应用程序需要创建一个 PDF 文件,然后将其上传到另一台服务器。上传通过NPM 包中的post方法进行。request如果我传入一个,一切正常fs.createReadStream

const fs = require('fs');
const params = {file: fs.createReadStream('test.pdf')};
api.uploadFile(params);

由于 PDFKit 也实例化了读取流,因此我尝试将其直接传递到 post 参数中,如下所示:

const PDFDocument = require('pdfkit');

const doc = new PDFDocument();
doc.text('steam test');
doc.end();

const params = {file: doc};

api.uploadFile(params);

但是,这会产生错误:

TypeError:路径必须是字符串。收到【功能】

如果我查看 PDFKit 源代码,我会看到(在 coffeescript 中):

class PDFDocument extends stream.Readable

我是流的新手,很明显我不明白这里的区别。对我来说,如果它们都是可读的流,它们都应该能够以相同的方式传递。

4

0 回答 0