我的应用程序需要创建一个 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
我是流的新手,很明显我不明白这里的区别。对我来说,如果它们都是可读的流,它们都应该能够以相同的方式传递。