A simple client to upload large files to Azure Blob Storage using SAS authentication
npm install azure-block-upload
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();
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.
A File instance, the file to be uploaded
An optional object that can include the following values:
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.
Block size. By default it's 4MB, as this is Azure's limit for block uploading.
An object with three callbacks: onSuccess, onError, onProgress
To be called when the file is completely uploaded
To be called when the upload fails
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
}
How many block will be uploaded at the same time. Default value is 3.