(canvas,next.js))使用canvas生成特定颜色的照片,并将其发送回*而不下载*

zu0ti5jz  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(180)

我终于尝试了next.js,我把我所有的东西都搬过来了,包括我的一个颜色功能。
我想做的是使用canvas根据url中的内容生成特定颜色的图像。它在express上运行良好,但当我在本地托管next.js应用程序时,它运行良好。然而,当我在vercel上托管并测试它时,它出现了一个500错误。
以下是我目前获得的代码:

export default async function handler(
  req: NextApiRequest,
  res: NextApiResponse
) {
  const { color } = req.query;
  const canvas = createCanvas(200, 200);
  const ctx = canvas.getContext("2d");
  ctx.fillStyle = `#${color}`;
  ctx.fillRect(0, 0, canvas.width, canvas.height);
  const png = canvas.toBuffer();

  res.writeHead(200, {
    "Content-Type": "image/png",
    "Content-Length": png.length,
  });

  res.end(png);
}

这段代码在express.js上运行良好(上面的代码稍作修改),因此我不知道是否需要更改设置或vercel,或者是否不支持它等等。谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题