gpt4 book ai didi

javascript - 基于文件下载的进度条

转载 作者:行者123 更新时间:2023-11-30 05:43:41 25 4
gpt4 key购买 nike

如何根据在 node webkit 中下载的文件显示进度条?

var https = require('https');
var fs = require('fs');
var exec = require('child_process').exec;

var file = fs.createWriteStream("update_setup.exe");
var len = 0;
var request = https.get(url + 'appdata/update_setup.exe', function (response) {
response.pipe(file);
response.on('data', function (chunk) {
file.write(chunk);
len += chunk.length;
var percent = (len / response.headers['content-length']) * 100;
});
file.on('finish', function () {
setTimeout(function () { win.close(); exec('update_setup.exe'); }, 1000);
});
});

最佳答案

读取响应的 content-length header 并将其与已下载的字节数进行比较。

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

var file = fs.createWriteStream('dest');
var len = 0;

http.get(url, function(res) {
res.on('data', function(chunk) {
file.write(chunk);
len += chunk.length;

// percentage downloaded is as follows
var percent = (len / res.headers['content-length']) * 100;
});
res.on('end', function() {
file.close();
});
file.on('close', function() {
// the file is done downloading
exec('update_setup.exe');
});
});

此代码检查接收到的数据的长度并将其添加到len。将 len 除以文件的总大小,然后乘以一百得到一个百分比。

关于javascript - 基于文件下载的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19286529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com