125 lines
2.2 KiB
Markdown
125 lines
2.2 KiB
Markdown
# download [](https://travis-ci.org/kevva/download)
|
|
|
|
> Download and extract files
|
|
|
|
*See [download-cli](https://github.com/kevva/download-cli) for the command-line version.*
|
|
|
|
|
|
## 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.
|
|
|
|
```js
|
|
var Download = require('download');
|
|
|
|
new Download({mode: '755'})
|
|
.get('http://example.com/foo.zip')
|
|
.get('http://example.com/cat.jpg')
|
|
.dest('dest')
|
|
.run();
|
|
```
|
|
|
|
|
|
## API
|
|
|
|
### new Download(options)
|
|
|
|
Creates a new `Download` instance.
|
|
|
|
#### options
|
|
|
|
Type: `object`
|
|
|
|
Options for [`got`](https://github.com/sindresorhus/got) or the underlying [`http`](https://nodejs.org/api/http.html#http_http_request_options_callback)/[`https`](https://nodejs.org/api/https.html#https_https_request_options_callback) request can be specified,
|
|
as well as options specific to the `download` module as described below.
|
|
|
|
##### options.extract
|
|
|
|
Type: `boolean`
|
|
Default: `false`
|
|
|
|
If set to `true`, try extracting the file using [decompress](https://github.com/kevva/decompress/).
|
|
|
|
##### options.mode
|
|
|
|
Type: `string`
|
|
|
|
Set mode on the downloaded file, i.e `{mode: '755'}`.
|
|
|
|
##### options.strip
|
|
|
|
Type: `number`
|
|
Default: `0`
|
|
|
|
Remove leading directory components from extracted files.
|
|
|
|
### .get(url, [dest])
|
|
|
|
#### url
|
|
|
|
Type: `string`
|
|
|
|
Add a URL to download.
|
|
|
|
#### dest
|
|
|
|
Type: `string`
|
|
|
|
Set an optional destination folder that will take precedence over the one set in
|
|
`.dest()`.
|
|
|
|
### .dest(dir)
|
|
|
|
#### dir
|
|
|
|
Type: `string`
|
|
|
|
Set the destination folder to where your files will be downloaded.
|
|
|
|
### .rename(name)
|
|
|
|
#### name
|
|
|
|
Type: `function` or `string`
|
|
|
|
Rename your files using [gulp-rename](https://github.com/hparra/gulp-rename).
|
|
|
|
### .use(plugin)
|
|
|
|
#### plugin(response, url)
|
|
|
|
Type: `function`
|
|
|
|
Add a plugin to the middleware stack.
|
|
|
|
##### response
|
|
|
|
The [response object](http://nodejs.org/api/http.html#http_http_incomingmessage).
|
|
|
|
##### url
|
|
|
|
The requested URL.
|
|
|
|
### .run(callback)
|
|
|
|
#### callback(err, files)
|
|
|
|
Type: `function`
|
|
|
|
##### files
|
|
|
|
Contains an array of vinyl files.
|
|
|
|
|
|
## License
|
|
|
|
MIT © [Kevin Mårtensson](http://github.com/kevva)
|