# File upload library

> AI-ranked search results for `upload handlers` on awesome-repositories.com — ordered by an LLM for relevance, best match first. 110 total matches; showing the top 18.

Explore on the web: https://awesome-repositories.com/q/upload-handlers

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [this search on awesome-repositories.com](https://awesome-repositories.com/q/upload-handlers).**

## Results

- [blueimp/jquery-file-upload](https://awesome-repositories.com/repository/blueimp-jquery-file-upload.md) (30,748 ⭐) — This project is a jQuery-based file upload widget that provides a browser interface for selecting and transferring files to a server. It functions as a chunked file uploader and a resumable upload client, enabling the transfer of large files by splitting them into smaller segments or continuing interrupted uploads from the last successfully sent byte.

The tool includes a client-side image processor for validating, resizing, and generating previews of images before transmission. It also serves as a cross-domain upload tool, using various transport mechanisms to send files to different domains
- [thoughtbot/paperclip](https://awesome-repositories.com/repository/thoughtbot-paperclip.md) (9,020 ⭐) — Paperclip is an ActiveRecord file attachment manager that links database models to files stored on local disks or cloud storage. It functions as a system for managing file attachments, a fingerprinting system for detecting duplicates and verifying integrity, and a MIME type validator to ensure uploaded files match allowed formats.

The project features an image processing pipeline that uses command-line utilities to automatically generate thumbnails and scaled versions of images based on predefined dimensions. It also provides S3 compatible file storage for managing attachments in Amazon S3 an
- [moxiecode/plupload](https://awesome-repositories.com/repository/moxiecode-plupload.md) (5,618 ⭐) — Plupload is a JavaScript file upload library that provides a standardized interface for managing file transfers across different browser runtimes and environments. It functions as a cross-browser upload interface and manager, supporting multiple file selections and browser-based file filtering.

The library distinguishes itself through specialized capabilities for handling large data and cloud integration. It includes a chunked file upload manager to split large files into smaller parts to bypass server size limits and a client-side image processor to downsize images and strip metadata before
- [simple-uploader/uploader](https://awesome-repositories.com/repository/simple-uploader-uploader.md) (875 ⭐) — Uploader is a JavaScript library designed for managing reliable, resumable, and concurrent file transfers within web applications. It provides a client-side interface that leverages the browser's native file system capabilities to handle data selection and transmission.

The library distinguishes itself by implementing a chunked data handling model, which breaks large files into smaller segments to ensure fault tolerance. This architecture allows for the automatic recovery of transfers following network interruptions or browser restarts, while maintaining state-persistent queues that enable us
- [fineuploader/fine-uploader](https://awesome-repositories.com/repository/fineuploader-fine-uploader.md) (8,149 ⭐) — Fine Uploader is a browser file upload widget and manager that provides a frontend interface for transferring multiple files. It functions as a chunked file upload manager and a client-side image processor.

The project enables the direct transfer of files to cloud storage providers, specifically Amazon S3 and Microsoft Azure, to reduce the load on application servers. It includes tools for scaling and resizing image dimensions during the upload process to save bandwidth.

The system manages large file transfers by splitting them into small pieces, allowing for pause and resume functionality.
- [fex-team/webuploader](https://awesome-repositories.com/repository/fex-team-webuploader.md) (7,647 ⭐) — Webuploader is a browser-based file upload library written in JavaScript. It provides a system for managing multi-file uploads with support for drag-and-drop, clipboard pasting, and type filtering.

The library includes a chunked file upload manager that splits large files into smaller segments to improve stability and enable partial retries. It features a client-side image compressor that generates previews and reduces file size before transmission, as well as an MD5 file integrity verifier to identify and skip redundant uploads of files already stored on the server.

The tool manages file co
- [expressjs/multer](https://awesome-repositories.com/repository/expressjs-multer.md) (12,055 ⭐) — Multer is a multipart form parser and file upload manager designed as middleware for Node.js and Express.js applications. It extracts text fields and uploaded files from incoming requests to populate the request body and file objects for server-side use.

The project utilizes pluggable storage engines to abstract file persistence, allowing developers to switch between saving files to a physical disk or holding them as buffers in system memory. It supports customizable file naming strategies and a custom storage engine interface for defining how files are saved and deleted.

The middleware incl
- [simple-uploader/vue-uploader](https://awesome-repositories.com/repository/simple-uploader-vue-uploader.md) (2,119 ⭐) — Vue-uploader is a library designed for managing file and folder transfers within Vue applications. It provides a framework for handling large data transmissions by splitting files into smaller, manageable chunks, which enables reliable uploads with support for pausing, resuming, and error recovery.

The library offers a set of component-based abstractions that allow developers to build custom drag-and-drop zones and file selection interfaces. It manages the entire upload lifecycle, including file validation based on custom criteria and the orchestration of concurrent upload queues.

Beyond bas
- [transloadit/uppy](https://awesome-repositories.com/repository/transloadit-uppy.md) (30,825 ⭐) — Uppy is a modular web file upload framework designed for building browser-based uploaders. It functions as a resumable upload client and a system for integrating file uploads from a browser to backend servers or cloud storage.

The project provides a headless UI upload component, offering logic hooks and headless elements that allow for the development of custom upload interfaces. It also serves as a cloud storage file importer, utilizing OAuth flows to authenticate and import files directly from remote providers, and as a browser-based media capture tool for uploading images or video clips fr
- [pqina/filepond](https://awesome-repositories.com/repository/pqina-filepond.md) (16,321 ⭐) — FilePond is a JavaScript library designed for managing file uploads, providing a browser-based component that handles selection, validation, and asynchronous transmission to remote servers. It functions as a web form input element that supports drag-and-drop interactions, file property verification, and queue management to ensure that only permitted content is submitted.

The library distinguishes itself through extensive client-side media processing capabilities, allowing users to edit, crop, resize, and filter images and videos directly in the browser before transmission. It includes automat
- [prisma-labs/graphql-yoga](https://awesome-repositories.com/repository/prisma-labs-graphql-yoga.md) (8,524 ⭐) — GraphQL Yoga is a GraphQL server framework designed for building APIs that operate across all JavaScript environments. It utilizes the WHATWG Fetch API to provide a standardized request and response interface, enabling the server to run on serverless and edge computing platforms.

The framework includes a specialized server for processing file uploads via the standard GraphQL multipart request specification and a subscription server that delivers real-time data streaming through server-sent events. An extensible plugin framework allows for the injection of custom behaviors and logic into the r
- [pingdotgg/uploadthing](https://awesome-repositories.com/repository/pingdotgg-uploadthing.md) (5,153 ⭐) — Uploadthing is a tool for integrating file uploads into web applications, providing a system to accept and store files through serverless file handling. It manages the end-to-end upload process, from creating backend endpoints to delivering content via a content delivery network.

The project utilizes a presigned URL workflow to allow clients to upload files directly to cloud storage, reducing server ingress. It features a route-based validation system to enforce constraints on file types and sizes, alongside middleware for request authorization and secure post-upload callback webhooks.

The p
- [flowjs/flow.js](https://awesome-repositories.com/repository/flowjs-flow-js.md) (2,989 ⭐) — A JavaScript library providing multiple simultaneous, stable, fault-tolerant and resumable/restartable file uploads via the HTML5 File API.
- [brandonsavage/upload](https://awesome-repositories.com/repository/brandonsavage-upload.md) (1,656 ⭐) — Upload is a PHP library designed to manage the processing and persistence of files submitted through web forms. It provides a framework for handling incoming file data, ensuring that assets are validated against security and quality constraints before being moved from temporary locations to permanent storage.

The library distinguishes itself through a modular architecture that decouples file handling logic from specific implementation details. It utilizes a strategy-based abstraction layer for storage, allowing for interchangeable backends, and employs a middleware-driven pipeline to process
- [jaydenseric/graphql-upload](https://awesome-repositories.com/repository/jaydenseric-graphql-upload.md) (1,439 ⭐) — GraphQL Upload is a utility for Node.js environments that enables GraphQL servers to process file uploads. It functions by integrating custom scalar types into the GraphQL schema and providing middleware to intercept and parse incoming multipart requests.

The library distinguishes itself by handling file data as asynchronous readable streams, which allows servers to process large files without requiring intermediate local disk storage or loading entire files into memory. It also incorporates resource protection mechanisms, including configurable limits on file sizes and the total number of fi
- [verot/class.upload.php](https://awesome-repositories.com/repository/verot-class-upload-php.md) (881 ⭐) — This project is a server-side PHP library designed for managing file uploads and performing automated image processing. It provides a structured toolkit for ingesting, validating, and migrating files from temporary staging areas to permanent storage while enforcing security constraints.

The library distinguishes itself through a configuration-driven pipeline that executes a sequence of transformations on image buffers. It supports a wide range of geometric adjustments, including resizing, cropping, and rotation, alongside advanced visual enhancements such as watermarks, color adjustments, and
- [friendsofcake/cakephp-upload](https://awesome-repositories.com/repository/friendsofcake-cakephp-upload.md) (546 ⭐) — CakePHP: Handle file uploading sans ridiculous automagic
- [uploadcare/file-uploader](https://awesome-repositories.com/repository/uploadcare-file-uploader.md) (103 ⭐) — Stack-agnostic library for uploading, processing, and editing images on-the-fly
