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");
上一篇:
Java架构师技术进阶路线图