如何将pdfmake库生成的PDF文件上传到nodejs中的cloudinary?

问题描述 投票:0回答:0

我正在尝试根据在创建订单 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);

javascript node.js cloudinary pdfmake
© www.soinside.com 2019 - 2024. All rights reserved.