Multiple file upload

Bootstrap file input plugin enhances the HTML 5 file input for Bootstrap 3.x into an advanced widget with file preview for various files, multiple selection and more. The plugin enhances these concepts and simplifies the widget initialization with simple HTML markup on a file input. It offers support for previewing a wide variety of files i.e. images, text, html, video, audio, flash, and objects.

Example

Single file uploader

Single file upload can be also considered the default state, because JS configuration is the same in both single and multiple modes. The only difference is multiple attribute in file input type. You can disable certain features like previews and make it a regular customized 1 line file input. Keep in mind that input field itself has readonly attribute by default.

Example

Hidden preview

When files are selected, file input library displays a list of thumbnails with actions by default. This preview area with all thumbnails and actions can be hidden by setting data-show-preview attribute or showPreview JS configuration option to false. Note - this option also disables initial drag and drop area and makes it less interactive, so that user can use only 1 option to choose files by clicking Browse button

Example

Using data-attributes

Use file input attributes (e.g. multiple upload) for setting input behavior and data attributes to control plugin options. For example, hide/show display of upload button and caption. Note that for multiple inputs, your server code must receive an array of file objects (e.g. for PHP server code, you must use the array naming convention for your input)

Example

Disabled input

Set the file input widget to be readonly or disabled by adding corresponding attribute to the file input. The following example demonstrates the disabled input field, which also disables input styling in focus state and removes pointer events from file input field and "Browse" button. See "Using plugin methods" example for reference

Example

Hidden caption

Initialize file input widget via javascript (data attributes are not supported in this particular example). Hide the caption and display widget with only buttons (and hide the drop zone by setting dropZoneEnabled to false). You can envelop the input within a container with the file-loading class to show a spinning indicator, while the plugin loads.

Example

Input group sizing

Since file input library is built on top of Bootstrap, it re-uses class name logic accross containers. This allows us to control input group sizing just like we would do it in the input group component itself. Use input-group-[sm|lg] class values in data-input-group-class data attribute to change default sizing to small or large.

Large file input

Default file input

Small file input

Overwrite styles

Thanks to deep customization possibilities via both JS and data attributes, file input allows us to adjust default styling without even touching any CSS. In the following example we configured file input to show only image files for selection & preview. We also changed control button labels, styles, and icons for the browse, upload, and remove buttons

Example

Specify file extensions

Using data attributes to configure the entire widget. This example shows how you can pass json within data attributes in the HTML markup (check data-allowed-file-extensions which basically sets the plugin property allowedFileExtensions) Allow only specific file extensions. In this example only jpg, gif, png and txt extensions are allowed

Example

Specify file types

With accept option that can be specified in the markup, you can control file types that users are allowed to upload. In this example we limited file types to image and video only by adding accept="image/*, video/*" attribute. Additionally you can configure the condition for validating the file types using `fileTypeSettings` in your JS configuration

Example

Always display preview

Display preview on load with preset files/images and captions with overwriteInitial set to false. So the initial preview is always displayed when additional files are overwritten (useful for multiple upload) scenario. Check how the initial preview config can allow file thumbnails to include actions for delete and download (via the delete url (url) and the download url (downloadUrl)

Example

Overwrite preview

Similar configuration to scenario 1, but with overwriteInitial set to true that will overwrite files in the initial preview on selection. This scenario shows how you can set a different file name than the caption for your file actions. The file name for download is automatically displayed as the caption setting.

Example

Block button

File input configuration options allows us to change default styles of any button: browse, upload, remove etc. Besides different color options, we can also use our utility classes to change width of the main "Browse" button. Here we added w-100 width helper class to data-browse-class attribute to give the button 100% width.

Example

Using plugin methods

Demonstration on usage of enable/disable plugin methods to manipulate the fileinput plugin. Besides mode toggle, file input also supports destroy, create, refresh and clear methods. Click the button to disable file input and click again to enable it. JS config looks like this - $([selector]).fileinput([method]).

Example

AJAX upload

Asynchronous / Parallel AJAX based uploads with drag and drop functionality. Just set the uploadUrl data property and multiple to true. Note that the file input name attribute for multiple uploads should be setup as a array format. You can modify files selected before upload i.e. append or delete

Example

Activity
New notifications
James has completed the task Submit documents from Onboarding list
2 hours ago
Margo has added 4 users to Customer enablement channel
3 hours ago
Subscription #466573 from 10.12.2021 has been cancelled. Refund case #4492 created
4 hours ago
Older notifications
Nick requested your feedback and approval in support request #458
3 days ago
Mike added 1 new file(s) to Product management project
new_contract.pdf
112KB
1 day ago
All hands meeting will take place coming Thursday at 13:45.
2 days ago
Christine commented on your community post from 10.12.2021
2 days ago
HR department requested you to complete internal survey by Friday
3 days ago
Loading...
Demo configuration
Color mode
Direction
Layouts
Purchase Limitless