A JavaScript library for resumable, fault-tolerant file uploads via chunking with the HTML5 File API.
Flow.js is a JavaScript library that provides resumable and fault-tolerant file uploads for web applications. It solves the problem of unreliable large file transfers by splitting files into chunks, automatically retrying failed chunks, and allowing uploads to resume after network interruptions or browser restarts. It works entirely client-side using the HTML5 File API.
Frontend developers building web applications that require reliable file uploads, especially for large files or in environments with unstable network connections.
Developers choose Flow.js for its robust handling of upload failures, resumable upload capability without server-side complexity, and zero external dependencies. It offers fine-grained control over upload behavior with extensive configuration options.
A JavaScript library providing multiple simultaneous, stable, fault-tolerant and resumable/restartable file uploads via the HTML5 File API.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Splits files into chunks and automatically retries failed uploads, ensuring reliability even in unstable network conditions, as core to its design.
With testChunks enabled, uploads can resume after browser crashes or across different browsers, leveraging GET requests to verify chunks on the server.
Relies solely on the HTML5 File API, keeping the library lightweight and avoiding bloat from additional packages.
Offers fine-grained control via parameters like chunkSize, simultaneousUploads, and custom callbacks, allowing tailored upload behavior for complex use cases.
Only compatible with browsers supporting HTML5 File API (Firefox 4+, Chrome 11+, etc.), excluding older versions and requiring fallbacks for legacy environments.
Demands custom server logic to handle chunk parameters (e.g., flowChunkNumber) and reassemble files, adding development overhead beyond client-side setup.
Provides only upload logic; developers must build their own UI for file selection, progress bars, and controls, increasing integration time.