Я работаю над загрузкой изображения с URL-адреса с помощью nodejs. Но я не могу преобразовать ответ в буфер. Изображение, которое я получаю из ответа, в форме тарабарщины. Ниже приведен мой код:
app.get('/test', async (req, res) => {
const data = await fetch("https://api.image/test.jpg");
res.send(Buffer.from(data));
});
Ошибка после загрузки изображения:
Я также пробовал следующую кодировку буфера, но после загрузки изображения все еще получаю сообщение об ошибке:
Buffer.from(data,'base64');
Buffer.from(data,'ascii');
Buffer.from(data,'base64url');
Buffer.from(data,'binary');
Buffer.from(data,'hex');
Buffer.from(data,'latin1');
Buffer.from(data,'ucs-2');
Buffer.from(data,'ucs2');
Buffer.from(data,'utf-8');
Buffer.from(data,'utf16le');
Buffer.from(data,'utf8');
Я думаю, что это должно быть так:
app.get('/test', async (req, res) => {
const data = await fetch("https://api.image/test.jpg");
res.send(Buffer.from(await data.arrayBuffer()));
});
У меня это работает, что за сообщение об ошибке и какой фреймворк вы используете, выражайте?
Я получаю сообщение об ошибке: «Ошибка: TypeError: data.arrayBuffer не является функцией»
Работает... Большое спасибо
Мне любопытно, почему раньше вы получали ошибку «data.arrayBuffer не является функцией» (также это может помочь другим)
Пробовал, не работает