Easy Drag'n'Drop AJAX Uploader Plugin For jQuery - ssi-uploader.js
| File Size: | 122 KB |
|---|---|
| Views Total: | 11613 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
ssi-uploader.js is an easy, customizable, jQuery dependent uploader which allows you to upload multiple allowed files with previews into the web server via AJAX requests. Drag'n'drop, i18n, callbacks are supported as well.
Basic usage:
1. First you need to load the latest version of jQuery library in the html document.
<script src="http://code.jquery.com/jquery.min.js"></script>
2. Then download and load the ssi-uploader plugin's JavaScript & CSS files in the document.
<link href="ssi-uploader.min.css" rel="stylesheet"> <script src="ssi-uploader.min.js"></script>
3. The next step is to create an upload button together with the preview & drag'n'drop area on the webpage.
<div class="ssi-uploader">
<div class="ssi-buttonWrapper"><span class="ssi-InputLabel">
<button class="ssi-button success">Choose files</button>
<input type="file" multiple id="ssi-upload" class="ssi-uploadInput">
</span>
<button id="ssi-abortBtn" class="ssi-button error ssi-cancelAll ssi-hidden"><span class="inBtn">Abort </span></button>
<button id="ssi-uploadBtn" class="ssi-button success ssi-hidden"><span class="ssi-btnIn">Upload </span>
<div id="ssi-up_loading" class="ssi-btnIn"></div>
</button>
<button id="ssi-clearBtn" class="ssi-hidden ssi-button info">Clear</button>
</div>
<div id="ssi-previewBox" class="ssi-uploadBox ssi-previewBox ssi-dropZonePreview ssi-dropZone">
<div id="ssi-DropZoneBack">Drag n Drop</div>
</div>
</div>
4. At last, you need to call the function on the top element as this:
$('.ssi-upload').ssi_uploader({
url: 'upload.php'
});
5. Plugin's default customization options:
$('.ssi-upload').ssi_uploader({
// allows duplicates
allowDuplicates: false,
// The utl to which the ajax request is sent.
url: '',
// Sends extra data with the request.
data: {},
// en, gr
locale: 'en',
// Enables/disables the file preview.
preview: true,
// Enables/disables drag and drop.
dropZone: true,
// How many files are allowed per upload.
maxNumberOfFiles: '',
// Setting up the response validation, ssi-uploader will be able to handle erros and display them.
// validationKey: {String||Object} Defines the validation key of the response. For
// resultKey: {String} Defines the validation key of the response.
// success: {String} Defines the success key of the response.
// error: {String} Defines the error key of the response.
responseValidation: false,
// If true the upload will continue normally even if there is an error in a callback function.
// If false the upload will aborted, if it's possible, and will console.log the errors.
ignoreCallbackErrors: false,
// Boolean or a function
// Transform file to form data
transformFile: true,
// The maximum size of each file.
maxFileSize: null,
// is in form
inForm: false,
// Extends the default options of $.ajax function:
// https://api.jquery.com/jquery.ajax/
ajaxOptions: {},
// The files allowed to be uploaded.
allowed: ['jpg', 'jpeg', 'png', 'bmp', 'gif'],
// The method that will be used to display the messages.
errorHandler: {
method: function (msg) {
alert(msg);
},
success: 'success',
error: 'error'
}
});
6. Callback functions.
$('.ssi-upload').ssi_uploader({
// executed when the upload process end
onUpload: function () {
},
// executed when each file finishes to uploading
onEachUpload: function () {
},
// executed before an upload process starts
beforeUpload: function () {
},
// executed just before each file starts to uploading
beforeEachUpload: function () {
},
});
7. Event handler.
$('.ssi-upload').ssi_uploader({
errorHandler: {
method: function (msg) {
alert(msg);
},
success: 'success',
error: 'error'
}
});
Changelog:
v1.4.1 (2019-11-15)
- Fix bug in transform file
v1.4.0 (2019-10-24)
- Add transformFile option
v1.3.11 (2018-03-06)
- Add allowDuplicates option so you can upload files with the same name.
2017-03-23
- Add responsedata access to onEachUpload callback
2017-03-22
- Add jquery settings to pass through beforeEach cl
2017-02-07
- fixed a bug when delete picture
2016-12-08
- now display messages if the response validation is success closes
2016-11-01
- fix form submit bug
2016-10-31
- You can define now the input name direct to the element.
2016-10-30
- add fileInfo.responseMsg param to onEachUpload callback
2016-07-21
- remove an unnecessary css rule
2016-07-19
- New option ignoreCallbackErrors (Boolean, default:false): If true the upload will continue normally even if there is an error in a callback function. If false the upload will aborted when it is possible and will console.log the errors.
- New feature that it shows some details about the upload action (number of pending, number of completed and number of in progress files).
- Fix a bug in multiple file upload.
- Change the tooltip logic and some css.
- New method to throw custom in BeforeEachUpload callback by throwing an Error.
2016-07-13
- fix allowed error
2016-07-03
- fix no preview box height
This awesome jQuery plugin is developed by ssbeefeater. For more Advanced Usages, please check the demo page or visit the official website.











