我正在尝试根据在创建订单 API 中收到的订单数据生成发票 PDF 文件,然后将生成的发票 PDF 文件上传到 cloudinary。
我能够从收到的订单数据中成功生成发票 PDF 文件,当我尝试将其上传到 cloudinary 时,它正在上传并且我从 cloudinary 获得一个 secure_url,但是当我在浏览器显示 无法加载 PDF 文档。 我在下面附上我的代码,请帮我弄清楚我哪里出错了。
// Generate the PDF buffer using pdfmake
const pdfBuffer = await new Promise((resolve, reject) => {
const pdfmakes = new pdfmake(fonts);
const doc = pdfmakes.createPdfKitDocument(documentDefinition, {});
const chunks: any = [];
doc.on('data', (chunk: any) => chunks.push(chunk));
doc.on('end', () => resolve(Buffer.concat(chunks)));
doc.end();
});
const tempFilePath = path.join(os.tmpdir(), 'temp.pdf');
fs.writeFileSync(tempFilePath, pdfBuffer);
const uploadResult = await cloudinary.v2.uploader.upload(tempFilePath, {
folder: 'invoices',
resource_type: 'auto',
});
console.log('upload result', uploadResult);