Download and extract files effortlessly
$ npm install --save download
If you're fetching an archive you can set extract: true
in options and
it'll extract it for you.
var download = require('download');
// download and extract `foo.tar.gz` into `bar/`
download('foo.tar.gz', 'bar', { extract: true });
// download and save `foo.exe` into `bar/foo.exe` with mode `0755`
download('foo.exe', 'bar', { mode: '0755' });
// download and save `foo.zip` into `bar/foobar.zip`
download({ url: 'foo.zip', name: 'foobar.zip' }, 'bar');
// download and save an array of files in `bar/`
var files = ['foo.jpg', 'bar.jpg', 'cat.jpg'];
download(files, 'bar');
// download, save and rename an array of files in `bar/`
var files = [{
url: 'foo.jpg',
name: 'foobar.jpg'
}, {
url: 'cat.jpg',
name: 'dog.jpg'
}];
download(files, 'bar');
Download a file or an array of files to a given destination. Returns an EventEmitter that emits the following possible events:
response
— Relayed when the underlyinghttp.ClientRequest
emits the same event. Listeners called with ahttp.IncomingMessage
instance.data
— Relayed when the underlyinghttp.IncomingMessage
emits the same event. Listeners called with aBuffer
instance.error
— Relayed when the underlyinghttp.ClientRequest
emits the same event or when the response status code is not in the 200s. Listeners called with anError
instance (in the first case) or the response status code.close
— Relayed when the underlyingstream.Duplex
emits the same event.
You can define options accepted by the request module besides from the options below.
Type: Boolean
Default: false
If set to true
, try extracting the file using decompress.
Type: String
Default: undefined
Set mode on the downloaded files.
Type: Number
Default: 0
Equivalent to --strip-components
for tar.
$ npm install --global download
$ download --help
Usage
$ download <url>
$ cat <file> | download>
Example
$ download --out dist --extract https://github.com/kevva/download/archive/master.zip
$ cat urls.txt | download --out dist
Options
-e, --extract Extract archive files on download
-o, --out Path to download or extract the files to
-s, --strip <number> Strip path segments from root when extracting
MIT © Kevin Mårtensson