sp-download
SharePoint files download client in Node.js
sp-download
is a SharePoint files download library and CLI in Node.js.
Supported SharePoint versions
SharePoint Online
SharePoint On-Prem (2019, 2016, 2013)
Features
CLI && A library scenarious
Support robust authentication scenarious
Streaming download
download files of any sizes
no memory consumption growth
Get started
Command line (CLI)
Prerequesites
Node.js
Install as CLI
npm install sp-download -g
Command line (CLI) usage
sp-download --url="https://contoso.sharepoint.com/sites/site/lib/folder/file.ext" --out="./download"
or
sp-download --url="https://contoso.sharepoint.com/sites/site/lib/folder/file.ext" --out="./download/filename.ext"
Options
Print help:
sp-download -h
Shortcut
Option
Description
-V
--version
output the version number
-u
--url [value]
full path to the file in SharePoint, required
-o
--out [value]
local directory or path to file where downloaded file should be saved, optional, default is ./
-c
--conf [value]
Path to private configuration file
-s
--site [value]
SharePoint SPWeb url, optional, default is requested based on url
-d
--ondemand
On-Demand auth request, optional
-l
--logLevel [value]
Log level: Debug = 5, Verbose = 4, Info = 3 (default), Warning = 2, Error = 1, Off = 0
-h
--help
output usage information
In Node.js applications
Install as dependency
npm install sp-download
Minimal setup (TypeScript)
import { Download, IAuthOptions } from 'sp-download';
const authContext: IAuthOptions = {
// ... node-sp-auth options
};
const download = new Download(authContext);
let filePathToDownload: string = 'https://contoso.sharepoint.com/sites/site/lib/folder/file.ext';
let saveToPath: string = './download';
download.downloadFile(filePathToDownload, saveToPath)
.then((savedToPath) => {
console.log(`${argv.url} has been downloaded to ${savedToPath}`);
})
.catch((error) => {
console.log(error);
});
Minimal setup (JavaScript)
const Download = require('sp-download').Download;
const authContext = {
// ... node-sp-auth options
};
const download = new Download(authContext);
let filePathToDownload = 'https://contoso.sharepoint.com/sites/site/lib/folder/file.ext';
let saveToPath = './download';
download.downloadFile(filePathToDownload, saveToPath)
.then((savedToPath) => {
console.log(`${argv.url} has been downloaded to ${savedToPath}`);
})
.catch((error) => {
console.log(error);
});
Authentication settings
The library provides wizard-like approach for building and managing config files for node-sp-auth
(Node.js to SharePoint unattended http authentication).
SharePoint On-Premise (2013, 2016):
User credentials (NTLM)
Form-based authentication (FBA)
Add-In Only permissions
ADFS user credentials
SharePoint Online:
User credentials (SAML)
Add-In Only permissions
ADFS user credentials
For more information please check node-sp-auth credential options and wiki pages.
Last updated
Was this helpful?