0

我已经被这个问题困扰了一段时间,似乎无法弄清楚为什么这个文件没有正确上传到 firebase。我在firebase函数中使用下面的代码来生成一个文档,然后我将该文档转换为一个流,最后我创建一个写入流,声明我希望将文件写入的路径并将我的文档流通过管道传输到firebase存储写入流。

示例 1:通过 firebase 控制台从文件系统上传的 PDF。(链接有效并显示pdf)

示例 2:在 firebase 函数中生成的 PDF 并使用以下代码写入存储

注意事项:

  1. 我知道 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