filedownloader
v1.2.7
Published
a small module for easy downloading using the power of curl combined with node js
Downloads
31
Maintainers
Readme
filedownloader
a small module for easy downloading using the power of curl combined with node js
Note
this module requires curl to be present in your system path. if not please check those links
Quick start
npm install filedownloader
Then:
var Downloader = require("filedownloader");
var Dl = new Downloader({
url: "FILEURL"
}).on("progress", function (progress){
console.log(progress);
});
The Downloader function accepts an object that can take:
url
url to Download fromsaveas
Filename to be saved as ex( audio.mp3)saveto
Folder to be saved indeleteIfExists
Delete file if it does exist (default: false)resume
Resume file if it's not completed, if false will delete the file and start it again (default: true)
The progress event will return :
{ progress: '1.3', dataWritten: 376072, filesize: '29828970', speed: 'byte/s'} //just an example of the ouput
Controlling The Download
you can pause the downloading by :
Dl.pause();
and you can resume it by:
Dl.resume();
Setting event handlers
'start': download started
The start
event is emitted just after the download starts
Dl.on("start", function(){
console.log("Download started")
});
'progress': progress information
The progress
Event is emitted with an object argument with the following keys:
dataWritten
: size of downloaded data in bytesfilesize
: size of the target file in bytesprogress
: an estimation of the progress percentagespeed
: an estimation of the download speed
Dl.on("progress", function(progress){
console.log('Downloaded: ' + progress.pregress + '%');
});
'error': error occurred
The error
event is emitted when an error occurs
Dl.on("error", function(err){
console.log('Some error occurred:' + err);
});
'end': Downloading finished
The end
event is emitted when Downloading has finished.
Dl.on("end", function(){
console.log('Download finished');
});
What's new
error event when status code is different than 200
Tests
npm test
Dependencies
- content-disposition: Create and parse Content-Disposition header
- del: Delete files and folders
- file-exists: Check if filepath exists and is a file
- mkdirp: Recursively mkdir, like
mkdir -p
- q: A library for promises (CommonJS/Promises/A,B,D)
- request: Simplified HTTP request client.
- underscore: JavaScript's functional programming helper library.
- urlencode: encodeURIComponent with charset
- valid-url: URI validation functions
Contributing
Contributions welcome; Please submit all pull requests the against master branch. If your pull request contains JavaScript patches or features, you should include relevant unit tests. Please check the Contributing Guidelines for more details. Thanks!
Author
Oussama Barkouki
License
- GPL-3.0 : http://opensource.org/licenses/GPL-3.0