4

私のアプリは PDF ファイルを作成し、それを別のサーバーにアップロードする必要があります。アップロードは、 NPM パッケージのpostメソッドを介して行われます。requestを渡すと、すべて正常に動作しますfs.createReadStream

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

PDFKit は読み取りストリームもインスタンス化するため、次のように投稿パラメーターに直接渡そうとしています。

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