何かをパイプするときにファイルをアップロードおよびダウンロードするための mikeal の要求を使用してモジュールを作成しています。イベントをリッスンしてプログレスバーで進行状況を表示する方法 いくつかの例を示してください...
質問する
1265 次
1 に答える
1
NPM レジストリを簡単に検索したところ、コマンド ラインにプログレス バーを表示するモジュールであるprogress が見つかりました。見栄えがよく、それを使用してダウンロードの進行状況を表示する方法を示す例も含まれています。ここで再現しています:
var ProgressBar = require('progress')
, https = require('https');
var req = https.request({
host: 'download.github.com'
, port: 443
, path: '/visionmedia-node-jscoverage-0d4608a.zip'
});
req.on('response', function(res){
var len = parseInt(res.headers['content-length'], 10);
console.log();
var bar = new ProgressBar(' downloading [:bar] :percent :etas', {
complete: '='
, incomplete: ' '
, width: 20
, total: len
});
res.on('data', function(chunk){
bar.tick(chunk.length);
});
res.on('end', function(){
console.log('\n');
});
});
req.end();
上記のコードは、次のようなプログレス バーを生成します。
downloading [===== ] 29% 3.7s
彼がヘッダーをチェックしcontent-length
てダウンロード中のファイルの長さを取得し、それを使用して完了率を計算する方法に注目してください。次に、進行状況バーに各チャンクの長さを渡します。
于 2012-09-05T14:45:01.973 に答える