stacks-sdk
v1.1.1
Published
The **Stacks SDK** is a simple file uploader module that supports file uploads to a server with progress tracking. It also allows you to authenticate requests by sending an API key along with the file upload request.
Downloads
186
Readme
Stacks SDK
The Stacks SDK is a simple file uploader module that supports file uploads to a server with progress tracking. It also allows you to authenticate requests by sending an API key along with the file upload request.
Features
- Upload files to a server using an API key for authentication.
- Track upload progress with a progress callback.
- Simple and easy-to-use API.
Installation
Install the package via npm:
npm install stacks-sdk
Usage
Below is an example of how to use the createFile
function to upload a file with an API key and track the progress of the upload.
Example
import { createFile } from 'stacks-sdk';
// Select a file from an input element
const fileInput = document.querySelector('#file');
const file = fileInput.files[0];
// Your API key for authentication
const apiKey = 'your-api-key-here'; // Replace with your actual API key
// Upload the file
createFile(file, apiKey, (progress) => {
console.log(`Upload progress: ${progress.toFixed(2)}%`);
})
.then((response) => {
console.log('File uploaded successfully:', response);
})
.catch((error) => {
console.error('Error uploading file:', error);
});
API
createFile(file: File, apiKey: string, onProgress?: (progress: number) => void): Promise<UploadResponse>
This function uploads a file to a server and tracks the progress of the upload. It returns a promise that resolves with the server's response or rejects with an error if the upload fails.
file
: The file to upload. You can get this from an input element or a similar source.apiKey
: Your API key for authentication. This will be sent to the server as a query parameter.onProgress
: An optional callback function that provides the current upload progress as a percentage (0 - 100%
).
Example Usage
createFile(file, apiKey, (progress) => {
console.log(`Upload progress: ${progress.toFixed(2)}%`);
})
.then((response) => {
console.log('File uploaded successfully:', response);
})
.catch((error) => {
console.error('Error uploading file:', error);
});
Response Object
The response object returned by the createFile
function has the following structure:
interface UploadResponse {
message: string; // Message from the server (e.g., "File uploaded successfully").
file: string; // URL or reference to the uploaded file.
}
License
This project is licensed under the MIT License.