0.4.0 • Published 4 years ago

azure-block-upload v0.4.0

Weekly downloads
7
License
MIT
Repository
github
Last release
4 years ago

azure-block-upload

A simple client to upload large files to Azure Blob Storage using SAS authentication

Installation

npm install azure-block-upload

Usage

To upload a file to Azure Blob Storage using this module, just import it, create a new instance with the needed parameters, and call the start method.

import AzureBlockUpload from 'azure-block-upload';

const client = new AzureBlockUpload(sasurl, file, options);
await client.start();

sasUrl

This is the azure presigned sas url for uploading. It should be similar to https://myaccount.blob.core.windows.net/pictures/profile.jpg?sv=2012-02-12&st=2009-02-09&se=2009-02-10&sr=c&sp=r&si=YWJjZGVmZw%3d%3d&sig=dD80ihBh5jfNpymO5Hg1IdiJIEvHcJpCMiCMnN%2fRnbI%3d. See this page for more information.

file

A File instance, the file to be uploaded

options

An optional object that can include the following values:

options.blockIDPrefix

The prefix to be used in the block ids. By default is block. Block ids are encoded in base-64, so if using another value, the change won't be explicitly visible.

options.blockSize

Block size. By default it's 4MB, as this is Azure's limit for block uploading.

options.callbacks

An object with three callbacks: onSuccess, onError, onProgress

options.callbacks.onSuccess

To be called when the file is completely uploaded

options.callbacks.onError

To be called when the upload fails

options.callbacks.onProgress

To be called everytime the upload progress is updated. It reveices the following argument:

{
  "progress": 0.5 // This is a number between 0 and 1
}

options.simultaneousUploads

How many block will be uploaded at the same time. Default value is 3.