Firebase Storage и PDFkit. Как указать тип MIME? - PullRequest
1 голос
/ 31 января 2020

Я пытаюсь создать PDF-файл, используя Firebase Functions и сохранить его в Firebase Storage. Я использовал код, найденный в этих ответах .

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 . Поэтому я не могу скачать его или открыть. enter image description here

Как сохранить файл PDF и указать тип MIME? Или поменять его после создания?

1 Ответ

1 голос
/ 31 января 2020

Необходимо определить метаданные типа контента для вашего файла "contentType: 'application / pdf'"

Например:

const stream = doc.pipe(myPdfFile.createWriteStream( 
{metadata: { contentType: 'application/pdf'}));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...