Заказ Добавить прямой метод скачивания в лаунчер

Bronx

Известный
Автор темы
42
3
Есть лаунчер для игры написанный на JavaScript, TypeScript (electron).
Скачка файлов реализована через WebTorrent.
Нужно добавить обычное скачивание через http с выводом процента загрузки, проверки файлов, дозагрузки обновлений.
Есть даже практически готовый вариант прямого скачивания от другого разработчика, но он пропал и перестал выходить на связь. Нужно доделать или реализовать по своему.
 

Ну погоди!

Активный
164
54
Код:
const url = 'http://liink/gta.zip';
async function downloadFileWithProgress() {
  try {
    const response = await fetch(url);
    if (!response.ok) {
      return;
    }
    const totalBytes = parseInt(response.headers.get('content-length'), 10);
    let receivedBytes = 0;
    const reader = response.body.getReader();
    const writer = fs.createWriteStream(filePath);
    async function read() {
      const { done, value } = await reader.read();
      if (done) {
        console.log("Game installed")
        return;
      }
      writer.write(value);
      receivedBytes += value.length;
      console.log(`Progress (percent): ${(receivedBytes / totalBytes * 100).toFixed(2)}%`);
      await read();
    }
    await read();
  } catch (error) {
    return;
  }
}
Символичные $0.1 можно закинуть на криптобота (xDDD)
Весь код сейчас не напишу, но лишь работа с json считай
 
Последнее редактирование: