0

私はしばらくこの問題に悩まされていましたが、なぜこのファイルが firebase に正しくアップロードされていないのか分かりません。以下のコードをfirebase関数で使用してドキュメントを生成し、そのドキュメントをストリームに変換します。最後に、ファイルを書き込むパスを宣言する書き込みストリームを作成し、ドキュメントストリームをfirebaseにパイプしますストレージ書き込みストリーム。

例 1: firebase コンソールを介してファイル システムからアップロードされた PDF。(リンクが機能し、pdf が表示されます)

例 2: firebase 関数で生成され、以下のコードを使用してストレージに書き込まれた PDF

考慮事項:

  1. 関数から返して Web ブラウザーで表示できるため、PDF が有効であることはわかっています。すべてが期待どおりです。
  2. 不良ファイルを開こうとすると、何も表示されず、概要画面にリダイレクトされます。
const pdfGen = require("html-pdf");
pdfGen.create(html, { format: "Letter" }).toStream(function (err, stream) {
    if (err) return res.status(500).send(err);
    var file = storage.bucket()
      .file(job.jobNum + "/quote-doc.pdf")
      .createWriteStream({
        resumable  : false,
        validation : false,
        contentType: "auto",
        metadata   : {
            'Cache-Control': 'public, max-age=31536000'}
    });

    stream.pipe(file)
    .on('error', function(err) {
      return res.status(500).send(err);
    })
    .on('finish', function(data) {
      stream.close();
      file.end();
      res.end();
      console.log('finished upload');
    });
  });
4

0 に答える 0