Socket
Socket
Sign inDemoInstall

download

Package Overview
Dependencies
200
Maintainers
1
Versions
70
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    download

Download and extract files effortlessly


Version published
Weekly downloads
1.9M
decreased by-3.06%
Maintainers
1
Install size
6.67 MB
Created
Weekly downloads
 

Package description

What is download?

The 'download' npm package is a utility that allows you to download files over HTTP or HTTPS. It is a high-level function that abstracts away the complexity of making HTTP requests and handling streams, making it easier to download files.

What are download's main functionalities?

Downloading files

This feature allows you to download files from a given URL and save them to a specified directory. The function returns a promise that resolves when the download is complete.

const download = require('download');

download('https://example.com/somefile.png', 'dist').then(() => {
    console.log('File downloaded!');
});

Downloading and extracting archives

This feature enables the downloading of archive files like ZIP or TAR and automatically extracts them to a specified directory.

const download = require('download');

download('https://example.com/somearchive.zip', 'dist', { extract: true }).then(() => {
    console.log('Archive downloaded and extracted!');
});

Downloading files with options

This feature allows you to pass custom options such as headers, query parameters, and more, providing additional control over the HTTP request.

const download = require('download');

const options = {
    headers: { 'User-Agent': 'my-custom-agent' }
};

download('https://example.com/somefile.png', 'dist', options).then(() => {
    console.log('File downloaded with custom headers!');
});

Other packages similar to download

Readme

Source

download Build Status

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.

var Download = require('download');
var progress = require('download-status');

var download = new Download()
    .get('http://example.com/foo.zip', 'destFolder', { extract: true, strip: 1 })
    .get('http://example.com/bar.jpg', 'destFolder')
    .get({ url: 'http://example.com/bar.jpg', name: 'foobar.jpg' }, 'destFolder')
    .use(progress());

download.run(function (err, files) {
    if (err) {
        throw err;
    }

    console.log(files);
    //=> [{ url: http://example.com/foo.zip, contents: <Buffer 50 4b 03 ...> }, { ... }]
});

API

new Download(opts)

Creates a new Download instance. Options defined here will be applied to all downloads.

.get(file, dest, opts)

Add a file to download. The file argument accepts a String containing a URL or an Object with a URL and a desired name. For example { url: http://example.com/file.zip, name: 'foo.zip' }. If you don't supply a dest no files will be written to the disk.

Options defined here will only apply to the specified file.

.use(plugin)

Adds a plugin to the middleware stack.

.proxy(proxy)

Set proxy settings. Defaults to process.env.HTTPS_PROXY || process.env.https_proxy || process.env.HTTP_PROXY || process.env.http_proxy;.

.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.

extract

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.

License

MIT © Kevin Mårtensson

Keywords

FAQs

Last updated on 13 Sep 2014

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc