【问题标题】:Firebase Storage and PDFkit. How specify MIME type?Firebase 存储和 PDFkit。如何指定 MIME 类型?
【发布时间】:2020-05-17 07:30:59
【问题描述】:

我正在尝试使用 Firebase 函数 创建一个 PDF 文件并将其保存到 Firebase 存储。 我使用了在 answers 中找到的代码。

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const pdfkit = require('pdfkit');

admin.initializeApp(functions.config().firebase);

exports.createPDF = functions.https.onRequest((req, res) => {
    const myPdfFile = admin.storage().bucket("gs://MYBUCKETNAME.appspot.com/").file('test.pdf');
    const doc = new pdfkit();
    const stream = doc.pipe(myPdfFile.createWriteStream());
    doc.fontSize(25).text('Hello World!', 100, 100);
    doc.end();

    stream.on('finish', function () {
        res.status(200).send({status: "ok"});
    });
});

问题:

代码正在运行并生成文件。 问题是文件是 MIME 类型 application/octet-stream。所以我无法下载或打开它。

如何保存 pdf 文件并指定 MIME 类型?还是创建后更改?

【问题讨论】:

    标签: node.js firebase google-cloud-functions google-cloud-storage pdfkit


    【解决方案1】:

    需要为你的文件“contentType: 'application/pdf'”定义内容类型的元数据

    例如:

    const stream = doc.pipe(myPdfFile.createWriteStream( 
    {metadata: { contentType: 'application/pdf'}));
    

    【讨论】:

      猜你喜欢
      • 2014-09-10
      • 2017-12-26
      • 2013-03-22
      • 1970-01-01
      • 2015-11-25
      • 2012-07-02
      • 2018-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多