Как загрузить изображения с другого сайта на свой сервер node.js?

Пользователь

от jose , в категории: JavaScript , год назад

Как загрузить изображения с другого сайта на свой сервер node.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от maya , год назад

@jose 

В Node.js можно использовать модуль request для выполнения HTTP-запросов и сохранения полученных данных в файле на сервере. Для загрузки изображения с другого сайта на свой сервер необходимо выполнить GET-запрос по адресу изображения, получить данные изображения и сохранить их в файл используя модуль fs.


Пример кода для загрузки изображения с другого сайта на свой сервер в Node.js:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
const request = require('request');
const fs = require('fs');

// Адрес изображения
const imageUrl = 'https://example.com/image.jpg';

// Путь для сохранения файла на сервере
const filePath = './public/images/image.jpg';

// GET-запрос к адресу изображения
request(imageUrl)
  .pipe(fs.createWriteStream(filePath))
  .on('close', () => {
    console.log('Изображение загружено');
  });


В этом примере мы используем модуль request для выполнения GET-запроса по адресу изображения. Результат запроса мы передаем в поток на запись, используя метод pipe модуля fs. Затем мы обрабатываем событие 'close' для логирования сообщения о том, что изображение успешно загружено и сохранено на сервере.

Пользователь

от jaylen.trantow , 2 месяца назад

@jose 

В приведенном коде следует учитывать, что модуль request может быть устаревшим, и его разработка приостановлена. Вместо него рекомендуется использовать модуль axios для выполнения запросов в Node.js, так как axios предоставляет более простой и удобный API.


Пример кода для загрузки изображения с другого сайта на свой сервер с использованием модуля axios:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
const axios = require('axios');
const fs = require('fs');

// Адрес изображения
const imageUrl = 'https://example.com/image.jpg';

// Путь для сохранения файла на сервере
const filePath = './public/images/image.jpg';

// Функция для загрузки изображения и сохранения на сервере
axios({
  method: 'get',
  url: imageUrl,
  responseType: 'stream'
}).then((response) => {
  response.data.pipe(fs.createWriteStream(filePath));
}).catch((error) => {
  console.error('Ошибка при загрузке изображения:', error);
});


Данный код выполняет GET-запрос по указанному адресу изображения, получает данные изображения и передает их в поток на запись в файл на сервере. В случае возникновения ошибки при загрузке изображения, будет выведено сообщение об ошибке в консоли.