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. 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!');
});
Creates a new Download
instance.
Add a file to download.
Set the destination folder to where your files will be downloaded.
Rename your files using gulp-rename.
Takes a String
or a Function
as argument.
Adds a plugin to the middleware stack.
Pipe your files through a transform stream (e.g a gulp plugin).
Downloads your files and returns an error if something has gone wrong.
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: Number
Default: null
Set mode on the downloaded file.
Type: Number
Default: 0
Equivalent to --strip-components
for tar.
$ 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
MIT © Kevin Mårtensson