Renders a BlueImp jQuery File Upload plugin.
The preferred way to install this extension is through composer.
Either run
php composer.phar require "2amigos/yii2-file-upload-widget" "*"
or add
"2amigos/yii2-file-upload-widget" : "*"
to the require section of your application's composer.json
file.
The widget comes with two flavors:
- FileUpload: Basic and BasicPlus
- FileUploadUI: BasicPlus UI
<?php
use dosamigos\fileupload\FileUpload;
// without UI
?>
<?= FileUpload::widget([
'model' => $model,
'attribute' => 'image',
'url' => ['media/upload', 'id' => $model->id], // your url, this is just for demo purposes,
'options' => ['accept' => 'image/*'],
'clientOptions' => [
'maxFileSize' => 2000000
],
// Also, you can specify jQuery-File-Upload events
// see: https://github.com/blueimp/jQuery-File-Upload/wiki/Options#processing-callback-options
'clientEvents' => [
'fileuploaddone' => 'function(e, data) {
console.log(e);
console.log(data);
}',
'fileuploadfail' => 'function(e, data) {
console.log(e);
console.log(data);
}',
],
]);?>
<?php
// with UI
use dosamigos\fileupload\FileUploadUI;
?>
<?= FileUploadUI::widget([
'model' => $model,
'attribute' => 'image',
'url' => ['media/upload', 'id' => $tour_id],
'gallery' => false,
'fieldOptions' => [
'accept' => 'image/*'
],
'clientOptions' => [
'maxFileSize' => 2000000
],
// ...
'clientEvents' => [
'fileuploaddone' => 'function(e, data) {
console.log(e);
console.log(data);
}',
'fileuploadfail' => 'function(e, data) {
console.log(e);
console.log(data);
}',
],
]);
?>
Please, check the jQuery File Upload documentation for further information about its configuration options.
Web development has never been so fun!
www.2amigos.us