blob: 075097de2c506594eeae8c78c49698cc3b12e81e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
var fs = require('fs');
var request = require('request');
var progress = require('request-progress');
export type Progress = {
percent:number,
speed:number,
size:{
total:number,
transfered:number
},
time:{
elapsed:number,
remaining:number
}
};
export function download(url:string,targetLocation:string,onprogress: (state:Progress)=>void):Promise<any>{
return new Promise((resolve:any,reject:any)=>{
progress(request(url), {
throttle: 500
})
.on('progress', onprogress)
.on('error', reject)
.on('end', resolve)
.pipe(fs.createWriteStream(targetLocation));
});
}
|