Как я могу сделать паузу при загрузке файла и начать заново?
Теперь я делаю функцию загрузки и показа прогресса с 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>