Я создаю конечную точку "/ getpdf" и внедряю функцию в firebase. Результатом должна быть загрузка PDF в браузере. Но когда я запрашиваю это, я получаю 404 Ошибка. Когда я тестирую то же самое приложение без FireBase (с express app.listen), оно работает нормально, и PDF-файл загружается. Когда я не использую puppeteer и пытаюсь, например, использовать простые функции firebase request.send ("Hello World").
Все настройки firebase по умолчанию.
Было бы здорово, если кто-то может помогите мне и покажите мне способ загрузки pdf-файла, созданного кукловодом с помощью функций firebase.
заранее спасибо
const express = require('express');
const functions = require('firebase-functions');
const puppeteer = require('puppeteer');
const app = express();
app.use(function cors(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Content-Type', 'application/pdf;charset=utf-8');
res.header('Content-Disposition', 'attachment; filename=some_file.pdf');
next();
});
app.get('/getpdf', async function getpdfHandler(req, res) {
var browser = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] });
try {
const page = await browser.newPage();
await page.setContent("<html><head></head><body><h1>HELLO WORLD!</h1></body></html>")
const buffer = await page.pdf({
format: 'A4',
printBackground: true,
margin: {
left: '0px',
top: '0px',
right: '0px',
bottom: '0px'
}
})
res.type('application/pdf').send(buffer);
} catch (e) {
res.status(500).send(e.toString());
}
await browser.close();
});
exports.getpdf = functions.https.onRequest(app);