Vana SDK - v2.2.2
    Preparing search index...

    Interface UploadProgress

    File upload progress tracking for user feedback and monitoring.

    Provides real-time progress information during file uploads, enabling applications to show progress bars and estimated completion times. The speed calculation is typically based on a rolling average to smooth out network fluctuations.

    // Upload with progress tracking
    await vana.data.upload(file, {
    onProgress: (progress: UploadProgress) => {
    // Update progress bar
    progressBar.style.width = `${progress.percentage}%`;

    // Show upload speed
    const speedMBps = (progress.speed / 1024 / 1024).toFixed(2);
    speedDisplay.textContent = `${speedMBps} MB/s`;

    // Show time remaining
    const minutes = Math.floor(progress.estimatedTimeRemaining / 60);
    const seconds = progress.estimatedTimeRemaining % 60;
    timeDisplay.textContent = `${minutes}:${seconds.toString().padStart(2, '0')}`;

    // Log progress milestones
    if (progress.percentage === 25 ||
    progress.percentage === 50 ||
    progress.percentage === 75) {
    console.log(`Upload ${progress.percentage}% complete`);
    }
    }
    });
    interface UploadProgress {
        loaded: number;
        total: number;
        percentage: number;
        speed: number;
        estimatedTimeRemaining: number;
    }
    Index

    Properties

    loaded: number

    Bytes uploaded

    total: number

    Total bytes to upload

    percentage: number

    Upload percentage (0-100)

    speed: number

    Upload speed in bytes per second

    estimatedTimeRemaining: number

    Estimated time remaining in seconds