electron-vue-admin下载网络文件,保存并显示下载进度

1、安装

npm install request

2、完整代码

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

/**
 * 处理开始下载文件
 */
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.
		console.log("data.headers['content-length']",data)
		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.");
}
/**
 * 下载示例
 */
downloadFile("https://fanyi-cdn.cdn.bcebos.com/static/translation/img/header/logo_e835568.png", "C:\\Users\\download\\Downloads\\logo_e835568.png");

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值