1.1.0-beta.1 • Published 2 months ago

sharepoint-upload v1.1.0-beta.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

Sharepoint Upload

Take it easy uploading files to SharePoint. A powerful Node.js utility to upload large files to SharePoint using chunked uploads, with built-in support for authentication and progress tracking.

Features

  • Upload files to SharePoint with ease.
  • Support for chunked uploads to handle large files.
  • Overwrite existing files if necessary.
  • Progress logging with upload percentage.
  • Authentication using node-sp-auth.

Table of Contents

Installation

To install sharepoint-upload, use npm or yarn:

npm install sharepoint-upload

or with yarn:

yarn add sharepoint-upload

Usage

First, you need to instantiate the SharepointUpload class with the SharePoint URL and your credentials. Then you can upload files with the upload method.

Basic Example

const SharepointUpload = require('sharepoint-upload');

const uploader = new SharepointUpload({
  url: 'https://your-sharepoint-site.com/Documents/MyFolder',
  credentials: {
    username: 'your-username',
    password: 'your-password'
  },
  options: {
    verbose: true, // Enable progress logging
    logger: console  // Use console for logging
  }
});

(async () => {
  try {
    await uploader.upload('path/to/file.txt');
    console.log('File uploaded successfully!');
  } catch (error) {
    console.error('Error during upload:', error);
  }
})();

Chunked Uploads

This utility splits large files into chunks (default 48MB) and uploads them in parts, ensuring reliable and efficient file transfer.

Configuration

The SharepointUpload class accepts the following options:

  • url: The SharePoint folder URL where the file will be uploaded.
  • credentials: The credentials required for authentication, including:
    • username: Your SharePoint username.
    • password: Your SharePoint password.
  • options: (Optional) Additional options for logging and verbosity.
    • verbose: If set to true, progress logs will be displayed during the upload.
    • logger: Specify a custom logger. Defaults to console.

Example of Options

const uploader = new SharepointUpload({
  url: 'https://your-sharepoint-site.com/Documents/MyFolder',
  credentials: {
    username: 'your-username',
    password: 'your-password'
  },
  options: {
    verbose: true, // Enable progress logging
    logger: customLoggerInstance // Use a custom logger instead of console
  }
});

Methods

upload(filePath, options)

Uploads a file to SharePoint.

Parameters:

  • filePath: string – The path to the file to be uploaded.
  • options: object (optional):
    • fileName: string – Custom name for the file in SharePoint. Defaults to the original filename.

Example

await uploader.upload('path/to/file.txt', { fileName: 'new-file-name.txt' });

This method will split the file into chunks (if large enough) and upload it to the specified folder on SharePoint. If the file already exists, it will be overwritten.

License

This project is licensed under the MIT License - see the LICENSE file for details.