download
Download and extract files effortlessly
Install
$ npm install --save download
Usage
If you're fetching an archive you can set extract: true
in options and
it'll extract it for you. You can also run your files through transform streams
(e.g gulp plugins) using the .pipe()
method.
var Download = require('download');
var imagemin = require('gulp-imagemin');
var progress = require('download-status');
var download = new Download({ extract: true, strip: 1 })
.get('http://example.com/foo.zip')
.get('http://example.com/cat.jpg')
.pipe(imagemin({ progressive: true }))
.dest('dest')
.use(progress());
download.run(function (err, files, stream) {
if (err) {
throw err;
}
console.log('File downloaded successfully!');
});
API
new Download(opts)
Creates a new Download
instance.
.get(url)
Add a file to download.
.dest(dir)
Set the destination folder to where your files will be downloaded.
.rename(name)
Rename your files using gulp-rename.
Takes a String
or a Function
as argument.
.use(plugin)
Adds a plugin to the middleware stack.
.pipe(task)
Pipe your files through a transform stream (e.g a gulp plugin).
.run(cb)
Downloads your files and returns an error if something has gone wrong.
Options
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.
mode
Type: Number
Default: null
Set mode on the downloaded file.
strip
Type: Number
Default: 0
Equivalent to --strip-components
for tar.
CLI
$ npm install --global download
$ download --help
Usage
download <url>
download <url> > <file>
download --out <directory> <url>
cat <file> | download --out <directory>
Example
download http://foo.com/file.zip
download http://foo.com/cat.png > dog.png
download --extract --strip 1 --out dest http://foo.com/file.zip
cat urls.txt | download --out dest
Options
-e, --extract Try decompressing the file
-o, --out Where to place the downloaded files
-s, --strip <number> Strip leading paths from file names on extraction
License
MIT © Kevin Mårtensson