Nel caso in cui qualcuno vuole conoscere i progressi senza l'uso di altra libreria, ma solo richiesta, allora si può utilizzare il seguente metodo:
function downloadFile(file_url , targetPath){
// Save variable to know progress
var received_bytes = 0;
var total_bytes = 0;
var req = request({
method: 'GET',
uri: file_url
});
var out = fs.createWriteStream(targetPath);
req.pipe(out);
req.on('response', function (data) {
// Change the total bytes value to get progress later.
total_bytes = parseInt(data.headers['content-length' ]);
});
req.on('data', function(chunk) {
// Update the received bytes
received_bytes += chunk.length;
showProgress(received_bytes, total_bytes);
});
req.on('end', function() {
alert("File succesfully downloaded");
});
}
function showProgress(received,total){
var percentage = (received * 100)/total;
console.log(percentage + "% | " + received + " bytes out of " + total + " bytes.");
// 50% | 50000 bytes received out of 100000 bytes.
}
downloadFile("https://static.pexels.com/photos/36487/above-adventure-aerial-air.jpg","c:/path/to/local-image.jpg");
la variabile received_bytes
salva il totale di ogni lunghezza chunk inviato e secondo il total_bytes
, pro gress è retrieven.
fonte
2016-08-09 12:11:05
che ho dentro .zip: node-webkit.app/e quando estraggo i dati-> NON POSSO eseguire più .app:/my code :: fs.writeFileSync (frameZipFilePath, data, "binary"); var zip = new AdmZip (frameZipFilePath); zip.extractAllTo (path.resolve ("", "tmp"), true); – miukki