Выполните перенаправление на функцию loadImage () - PullRequest
0 голосов
/ 25 января 2019

Я всегда получаю сообщение об ошибке "Ошибка: сервер ответил 301" при попытке использовать loadImage () .

URL-адрес, который я предоставляю в перенаправленной функцииот http до https, но вместо того, чтобы следовать за перенаправлением, функция вместо этого вернула эту ошибку.

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 голосов
/ 23 апреля 2019

Это будет исправлено в следующем выпуске (https://github.com/Automattic/node-canvas/pull/1398) - 2.4.2 или 2.5.0.

До тех пор вы должны будете вручную сделать HTTP-запрос и следовать перенаправлениям.

...