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
6
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.