如何计算下载进度条-nodeJs

2,370 阅读1分钟

前言,下载进度条如何计算?

场景,一个cdn链接,想知道下载的进度,如何用node去计算? get请求中的xxx.dmg为随便写的一个cdn链接地址

var http=require("http");
var fs = require('fs')
// var writerStream = fs.createWriteStream('aa.dmg')
http.get('xxx.dmg',{
    headers: { 'Content-Type': 'application/octet-stream' }
}, (res) => {
  var bate = new Buffer.from('');

  res.on('data', (chunk) => {
        bate = Buffer.concat([bate,chunk]);
        console.log(bate.length)
        fs.appendFileSync("aa3.dmg",chunk, (error)  => {
            if (error) return console.log("追加文件失败" + error.message);
            console.log("追加成功");
        });
    });
    res.on('end', () => {
        try {
          fs.writeFileSync('zngril_buffer.dmg', bate);  // 可删除
        } catch (e) {
          console.error(e.message);
        }
      });
}).on('error', (e) => {
  console.error(`Got error: ${e.message}`);
});

拿走,不谢!