You might be working on a project which has upload feature that takes files from the user and uploads it to your storage server. File upload is a common task in almost all of modern web projects. With all different tools available, it is not that hard to implement file upload feature. So here are some useful Javascript libraries that will help you to implement file upload feature to your website.
Uppy
Sleek, modular file uploader that integrates seamlessly with any website or app. It fetches files from local disk, Google Drive, Dropbox, Instagram, remote URLs, cameras etc, and then uploads them to the final destination. It`s fast, easy to use and let’s you worry about more important problems than building a file uploader.
Slim Image Cropper
This is a cross platform JavaScript Image Cropping and Uploading plugin. It’s easy to setup and features beautiful graphics and animations.
Dropzone
Dropzone.js is a light weight JavaScript library that turns an HTML element into a dropzone. This means that a user can drag and drop a file onto it, and the file gets uploaded to the server via AJAX.
Meteor Files
Upload files via DDP or HTTP to Meteor server FS, AWS, GridFS, DropBox or Google Drive. Fast, secure and robust.
Filepond
A JavaScript library that can upload anything you throw at it, optimizes images for faster uploads, and offers a great, accessible, silky smooth user experience.
Resumable
Resumable.js is a JavaScript library providing multiple simultaneous, stable and resumable uploads via the HTML5 File API.
Uploader
A jQuery plugin for file uploading using ajax(a sync); includes support for queues, progress tracking and drag and drop. Very configurable and easy to adapt to any Frontend design, and very easy to work along side any backend logic.
Uppload
Uppload is a better JavaScript file uploader. It’s highly customizable, completely free and open-source, and can be used with any file uploading backend.
Tus-js-client
A pure JavaScript client for the tus resumable upload protocol which works in browser environments, Node.js, React Native and Apache Cordova.
ng-file-upload
Lightweight Angular directive to upload files with optional FileAPI shim for cross browser support.
react-dropzone
Simple HTML5-compliant drag’n’drop zone for files built with React.js.
Flow.js
The library is designed to introduce fault-tolerance into the upload of large files through HTTP. This is done by splitting each file into small chunks. Then, whenever the upload of a chunk fails, uploading is retried until the procedure completes. This allows uploads to automatically resume uploading after a network connection is lost either locally or to the server.
Fine Uploader
Multiple file upload plugin with image previews, drag and drop, progress bars. S3 and Azure support, image scaling, form support, chunking, resume, pause, and tons of other features.
Compressor.js
JavaScript image compressor. Uses the Browser’s native canvas.toBlob API to do the compression work, which means it is lossy compression. General use this to precompress a client image file before upload it.
Vue image crop upload
A beautiful vue component for image crop and upload.
Filestash
A web client for FTP, SFTP, WebDAV, Git, S3, Minio, LDAP, Caldav, Carddav.
File upload with preview
A simple file-upload utility that shows a preview of the uploaded image. Written in pure JavaScript. No dependencies. Works well with Bootstrap 4 or without a framework.
Simple Ajax Uploader
A Javascript plugin for cross-browser Ajax file uploading. Supports drag and drop, CORS, and multiple file uploading with progress bars. Works in IE7-9, mobile, and all modern browsers.
Plupload
Plupload is a cross-browser multi-runtime file uploading API. Basically, a set of tools that will help you to build a reliable and visually appealing file uploader in minutes.
DropIt
DropIt is a File Uploader built with nodejs, Upload, get a link, and share your files with anyone easily.
Hi, it is a fantastic list. You can also include the file upload control from Syncfusion. It has lot of features. check out their features in the below link.
https://www.syncfusion.com/javascript-ui-controls/js-file-upload