Как приостановить загрузку в Node.js по запросу модуля - PullRequest
0 голосов
/ 29 января 2019

Как я могу сделать паузу при загрузке файла и начать заново?

Теперь я делаю функцию загрузки и показа прогресса с Node.js, javascript, html и электронным.Я подумал, что будет лучше, если я тоже смогу добавить функцию паузы.

Я искал модуль запроса, но не смог найти событие о приостановке загрузки.я впервые использую модули узлов.

Могу ли я добавить событие в свой код?спасибо!

указано это сообщение .

//download.js

var request = require('request');
var fs = require('fs');

function downloadFile() {
    var a = event.currentTarget;
    var td = a.parentElement;
    var tr = td.parentElement;

    var id = '';
    var fileSize='';
    fileSize = '' + tr.querySelector('td').getAttribute('id');
    console.log(fileSize);
      var progressBar;
      var display;
    progressBar= tr.querySelector('progress');
    display= tr.querySelector('span');
    progressBar.value = 0;
    display.innerText = '0%';
  // Save variable to know progress
  var received_bytes = 0;
  var total_bytes = 0;

    var fileURL = "http://speedtest-ny.turnkeyinternet.net/"+fileSize;
  var finalPath = "./resources/"+fileSize;
  var req = request({
    method: 'GET',
    uri: fileURL
  });

  var out = fs.createWriteStream(finalPath);
  req.pipe(out);

  req.on('response', function(data) {
    // Change the total bytes value to get progress later.
    total_bytes = parseInt(data.headers['content-length']);
    progressBar.max = total_bytes;
  });

  req.on('data', function(chunk) {
    // Update the received bytes
    progressBar.max = total_bytes;
    received_bytes += chunk.length;
    progressBar.value = received_bytes;
    display.innerText = Math.floor((progressBar.value / progressBar.max) * 100) + '%'
  //  showProgress(received_bytes, total_bytes);
  });

  req.on('end', function() {
    //alert("File succesfully downloaded");
  });
}

HTML:

<!-- download.html -->

<table width="500" cellpadding="0" cellspacing="0" border="1" class="blueone">

      <tr><th>파일명</th><th >진행상황</th><th><a onclick="downloadClick()">다운로드</a></th></tr>
      <tr><td id="100Mb.dat" >File10MB</td><td><progress id="progress" value="0"></progress><span id="display"></span></td><td><a class="checkBtn" onclick="downloadFile2(event)">다운로드</a></td></tr>
      <tr><td id="100mb.bin">File100MB</td><td><progress id="progress" value="0"></progress><span id="display"></span></td><td><a class="checkBtn" onclick="downloadFile(event)">다운로드</a></td></tr>
      <tr><td id="500mb.bin">File500MB</td><td><progress id="progress" value="0"></progress><span id="display"></span></td><td><a class="checkBtn" onclick="downloadFile4(event)">다운로드</a></td></tr>
      <tr><td id="1000mb.bin">File1GB</td><td><progress id="progress" value="0"></progress><span id="display"></span></td><td><a class="checkBtn" onclick="downloadFile(event)">다운로드</a></td></tr>
      <tr><td id="10Gb.dat">File10GB</td><td><progress id="progress" value="0"></progress><span id="display"></span></td><td><a class="checkBtn" onclick="downloadFile3(event)">다운로드</a></td></tr>

  </table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...