Сохранение изображение с node-libcurl. NodeJS
Нужно сохранить изображение на сервер с помощью node-libcurl. Изображение сохраняется, но не открывается. Полагаю это связано с кодировкой.
const Curl = require('node-libcurl').Curl
const fs = require('fs')
var curl = new Curl()
curl.setOpt( Curl.option.URL, 'http://mirprivet.ru/wp-content/uploads/2016/01/ostrova-portugalii-300x203.jpg' )
curl.perform()
curl.on('end', (statusCode, body, headers) => {
fs.writeFileSync('image.jpg', body)
})
Ответы (1 шт):
Автор решения: nörbörnën
→ Ссылка
Через буфер:
const { curly } = require('node-libcurl');
const fs = require('fs');
const path = require('path');
(async () => {
const { statusCode, data } = await curly.get(
'http://mirprivet.ru/wp-content/uploads/2016/01/ostrova-portugalii-300x203.jpg'
);
fs.writeFileSync(
path.join(__dirname, './image.jpg'),
data
);
})();
Через поток:
const { curly } = require('node-libcurl');
const fs = require('fs');
const path = require('path');
const { pipeline } = require('stream/promises');
(async () => {
const { data } = await curly.get(
'http://mirprivet.ru/wp-content/uploads/2016/01/ostrova-portugalii-300x203.jpg',
{
curlyStreamResponse: true
}
);
const writableStream = fs.createWriteStream(
path.join(__dirname, './image2.jpg')
);
await pipeline(data, writableStream);
})();