как загрузить файл по url в node js без использования сторонних библиотек

Аватар пользователя Elena Gromova
Elena Gromova
25 декабря 2024

Для загрузки файла по URL в Node.js без использования сторонних библиотек, мы можем воспользоваться модулем http или https, в зависимости от протокола передачи данных. Процесс можно разбить на следующие шаги:

  1. Парсинг URL: Сначала нам необходимо разобрать URL на составляющие с помощью модуля url.

  2. Установка соединения: Используем модуль http или https для установления соединения с сервером, с которого мы хотим загрузить файл.

  3. Запрос файла: Отправляем GET-запрос на сервер для получения файла по указанному URL.

  4. Обработка данных: Получаем данные и сохраняем их в файл.

Пример кода для загрузки файла по URL в Node.js с использованием модуля https:

const https = require('https');
const fs = require('fs');
const url = require('url');

const fileUrl = 'https://example.com/file.txt';
const urlParts = url.parse(fileUrl);

const options = {
  hostname: urlParts.hostname,
  path: urlParts.path,
  headers: {
    'User-Agent': 'Node.js'
  }
};

const file = fs.createWriteStream('file.txt');

https.get(options, (response) => {
  response.pipe(file);

  file.on('finish', () => {
    file.close(() => {
      console.log('File downloaded');
    });
  });
}).on('error', (err) => {
  fs.unlink('file.txt'); // Удаляем файл, если произошла ошибка загрузки
  console.error(err);
});
0 0