在loadImage()函数上遵循重定向

时间:2019-01-25 13:24:19

标签: javascript node.js canvas node-canvas

我总是收到错误“错误:尝试使用 loadImage()函数时,服务器响应301”

我在从http重定向到https的函数中提供的URL,但函数没有遵循该重定向,而是返回了该错误。

async run(msg, { item }) {
    const canvas = Canvas.createCanvas(330, item.height);
    const ctx = canvas.getContext('2d');
    ctx.fillStyle = 'rgb(54, 57,62)';
    ctx.fillRect(0, 0, canvas.width, canvas.height);
    const iconImg = await Canvas.loadImage(item.icon); // <---
    ctx.drawImage(iconImg, 0, 0);
    const attachment = new Discord.MessageAttachment(canvas.toBuffer(), 'image.png');
    msg.channel.send(attachment);
}

有什么方法可以使该函数遵循重定向以进行301重定向,而不返回该错误?

1 个答案:

答案 0 :(得分:0)

此问题将在下一个版本(https://github.com/Automattic/node-canvas/pull/1398)-2.4.2或2.5.0中得到解决。

在此之前,您将不得不手动发出HTTP请求并遵循重定向。