The JavaScript File Upload is a control for uploading one or multiple files, images, documents, audio, video, and other files to a server. It is an improved version of the HTML5 upload control (<input type="file">
) with a rich set of features that include multiple file selection, progress bars, auto-uploading, drag and drop, folder (directory) uploading, file validation, and more.
Select multiple files and upload them to a server at the same time. This is useful for uploading images to a gallery and for file-sharing applications.
Upload multiple files by simply dragging them from the file explorer to the drop area (drop zone), which is a more user-friendly way to select and upload multiple files.
Accepts a folder (directory) as a file source for uploading all the files (including subfolders) of the selected folder.
Using the AJAX library, the JavaScript File Upload control easily uploads files in asynchronous mode.
Manage upload of large file uploads efficiently using chunk upload that slices a large file into smaller chunks and uploads to the server in a sequential order asynchronously.
Allows users to create a custom UI in the JavaScript File Upload based on their application need using a wide range of template options.
Cutting edge design with 5+ built-in themes such as Fluent, Tailwind CSS, Bootstrap, Material, Fabric, and more. Utilize the online Theme Studio tool to customize themes of File Upload easily.
Enables users from different locales to use the File Upload by formatting dates, currency, and numbering to suit their preferences.
Easily get started with the JavaScript File Upload using a few simple lines of HTML and TS code example as demonstrated below. Also explore our JavaScript File Upload Example that shows you how to upload files JavaScript.
<div class="control-section">
<div class="control_wrapper">
<!-- Initialize Uploader -->
<input type="file" id="fileupload" name="UploadFiles">
</div>
</div>
import { enableRipple } from '@syncfusion/ej2-base';
enableRipple(true);
import { Uploader, RemovingEventArgs } from '@syncfusion/ej2-inputs';
import { CheckBox, ChangeEventArgs } from '@syncfusion/ej2-buttons';
let dropElement: HTMLElement = document.getElementsByClassName('control-fluid')[0] as HTMLElement;
// Initialize the uploader control
let uploadObj: Uploader = new Uploader({
asyncSettings: {
saveUrl: 'https://ej2.syncfusion.com/services/api/uploadbox/Save',
removeUrl: 'https://ej2.syncfusion.com/services/api/uploadbox/Remove'
},
removing: onFileRemove,
dropArea: dropElement
});
uploadObj.appendTo('#fileupload');
function onFileRemove(args: RemovingEventArgs) : void {
args.postRawFile = false;
}
A built-in feature is available to pause, resume, retry, and cancel a file upload. This helps users upload high-resolution images, videos,and other large files safely. Additionally, it provides an option to pause and resume automatically based on server connection.
The HTML5 File Upload control allows you to upload images and resize images, show an image preview or thumbnail, etc. before uploading them.
The action buttons of the JavaScript File Upload control are completely customizable, including its file list, which helps create your own design for the File Upload UI.
Upload various file types and limit the file types from client-side, which is mandatory before uploading a file to the web application.
Add validation to check file size limits with minimum and maximum ranges, number of files required, total size, and MIME type before uploading a file to a server.
The HTML5 File Upload control processes images from the clipboard, also. Simply copy and paste the images to be uploaded to a server.
The JavaScript File Upload control provides a simple interface to delete the wrongly uploaded files from a server.
Users can configure previously uploaded files from the server. This is useful to view and remove files from the server.
Initiate an automatic upload to upload files immediately upon adding them to the upload queue.
The HTML5 multiple File Upload control displays a built-in progress bar (progress indicator) with the progress percentage during each file upload. The bar is completely customizable.
The JavaScript File Upload control supports right-to-left rendering, which improves the user experience and accessibility for those who use RTL languages.
The HTML5 File Upload control allows you to pass additional parameters along with an upload request as an HTTP header or custom parameters.
The HTML5 File Upload control has form support (synchronous mode) to work with native HTML forms.
Fully supports WAI-ARIA accessibility, which allows the JavaScript File Upload control to be accessed by on-screen readers and assistive devices.
Follows the WAI-ARIA Best Practices for implementing keyboard interaction.
The UI element visuals, such as foreground color, background color, line spacing, text, and images, were designed based on the WCAG 2.0 standard.
The JavaScript File Upload control with rich UI provides the best user experience across phone, tablet, and desktop form factors.
The File Upload control is also available in Blazor, Angular, React, and Vue frameworks. Check out the different File Upload platforms from the links below,
The JavaScript File Upload works well with all modern web browsers such as Chrome, Firefox, Microsoft Edge, Safari, and Opera.
We do not sell the JavaScript File Upload separately. It is only available for purchase as part of the Syncfusion JavaScript suite, which contains over 85 JavaScript components, including the File Upload. A single developer license for the Syncfusion Essential Studio for JavaScript suite costs $995.00 USD, including one year of support and updates. On top of this, we might be able to offer additional discounts based on currently active promotions. Please contact our sales team today to see if you qualify for any additional discounts.
You can find our JavaScript File Upload demo, which demonstrates how to render and configure the File Upload.
No, our 85+ JavaScript components, including File Upload, are not sold individually, only as a single package. However, we have competitively priced the product so it only costs a little bit more than what some other vendors charge for their File Upload alone. We have also found that, in our experience, our customers usually start off using one of our products and then expand to several products quickly, so we felt it was best to offer all 85+ JavaScript components for a flat fee of $995/developer. On top of this, we might be able to offer additional discounts based on currently active promotions. Please contact our sales team today to see if you qualify for any additional discounts.
No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue, 5 or fewer developers, and 10 or fewer total employees.
A good place to start would be our comprehensive getting started documentation.
Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.