85 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			1.6 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
 | |
| 
 | |
| ```js
 | |
| const fs = require('fs');
 | |
| const download = require('download');
 | |
| 
 | |
| download('http://unicorn.com/foo.jpg', 'dist').then(() => {
 | |
| 	console.log('done!');
 | |
| });
 | |
| 
 | |
| download('http://unicorn.com/foo.jpg').then(data => {
 | |
| 	fs.writeFileSync('dist/foo.jpg', data);
 | |
| });
 | |
| 
 | |
| download('unicorn.com/foo.jpg').pipe(fs.createWriteStream('dist/foo.jpg'));
 | |
| 
 | |
| Promise.all([
 | |
| 	'unicorn.com/foo.jpg',
 | |
| 	'cats.com/dancing.gif'
 | |
| ].map(x => download(x, 'dist'))).then(() => {
 | |
| 	console.log('files downloaded!');
 | |
| });
 | |
| ```
 | |
| 
 | |
| 
 | |
| ## API
 | |
| 
 | |
| ### download(url, [destination], [options])
 | |
| 
 | |
| Returns both a `Promise<Buffer>` and a [Duplex stream](https://nodejs.org/api/stream.html#stream_class_stream_duplex) with [additional events](https://github.com/sindresorhus/got#streams).
 | |
| 
 | |
| #### url
 | |
| 
 | |
| Type: `string`
 | |
| 
 | |
| URL to download.
 | |
| 
 | |
| #### destination
 | |
| 
 | |
| Type: `string`
 | |
| 
 | |
| Path to where your file will be written.
 | |
| 
 | |
| #### options
 | |
| 
 | |
| Same options as [`got`](https://github.com/sindresorhus/got) in addition to the ones below.
 | |
| 
 | |
| ##### extract
 | |
| 
 | |
| Type: `boolean`<br>
 | |
| Default: `false`
 | |
| 
 | |
| If set to `true`, try extracting the file using [`decompress`](https://github.com/kevva/decompress).
 | |
| 
 | |
| ##### filename
 | |
| 
 | |
| Type: `string`
 | |
| 
 | |
| Name of the saved file.
 | |
| 
 | |
| ##### proxy
 | |
| 
 | |
| Type: `string`
 | |
| 
 | |
| Proxy endpoint.
 | |
| 
 | |
| 
 | |
| ## License
 | |
| 
 | |
| MIT © [Kevin Mårtensson](https://github.com/kevva)
 |