puppeteer渲染不了b64图片

代码:

const html = `
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <script src="https://cdn.tailwindcss.com"></script>
        </head>
        <body class="bg-gray-900">
          <div class="w-auto h-auto mx-auto p-4 bg-gray-800">
            <img src=${data.icon} alt="Icon" class="w-auto h-auto mx-auto mb-4" />
            <div class="text-white text-center">
              <p class="text-1x">${result}</p>
            </div>
          </div>
        </body>
      </html>
      `;
      const image = await ctx.puppeteer.render(html)
      return image

其中data.icon为请求某api后返回的一个64*64图片的b64,示例值如下:

"data:image/png;base64,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"

这是运行后渲染出来的成果:


(下方白字为result内容)
pup版本3.5.0
System:
OS: Linux 6.1 Debian GNU/Linux 12 (bookworm) 12 (bookworm)
CPU: (3) x64 AMD EPYC Processor

Binaries:
Node: 18.16.1
Yarn: 1.22.19

Koishi:
Core: 4.13.7
Console: 5.11.9

在线等一个佬来解答

你直接这么换的话不会少一对引号吗

我不到啊,现在去试试

1 个赞

找到问题了,老代码里有句b64转图片的代码没删(我是笨蛋

1 个赞