joni-jones / yii2-fuploader
BlueImp file upload widget for Yii2
Installs: 107
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 3
Open Issues: 0
Type:yii2-extension
Requires
- php: >=5.5.0
- bower-asset/jquery-file-upload: 9.9.*
- bower-asset/jquery.ui: 1.11.*
- yiisoft/yii2: *
- yiisoft/yii2-bootstrap: *
This package is not auto-updated.
Last update: 2024-11-05 16:53:21 UTC
README
File uploader. Yii2 extension based on jQuery File Upload Plugin.
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist joni-jones/yii2-fuploader "*"
or add
"joni-jones/yii2-fuploader": "*"
to the require section of your composer.json
file.
Usage
Once the extension is installed, simply use it in your code by :
<?= \jones\fuploader\FileUpload::widget();?>
-
Specify
action
property for uploading url:FileUpload::widget([ 'action' => Url::to(['some_action']) ]);
-
Specify any jquery file upload options:
FileUpload::widget([ 'options' => [ 'plugin' => [ 'formData' => 'some data', ], ], 'content' => 'Select image', ]);
-
To setup plugin events or callbacks - use
clientEvents
option for widget:FileUpload::widget([ 'clientEvents' => [ 'done' => 'function(e, data){console.log(data);}', 'fail' => 'function(e, data){console.log(data);}' ] ]);
-
Also you can use extension actions to store some file details after uploading. For example, update user avatar attribute in database.
public function actions() { return[ 'some_action' => [ 'class' => 'jones\fuploader\actions\UploadAction', 'path' => 'some path for uploading', 'url' => 'some url for uploaded file', //this url will be accessable in action response 'callback' => [$this, 'someCallback'] //any callable function ] ]; }
-
If callback was specified it will be triggered after uploading:
public function someCallback($request, $files) { // some code }
UploadAction()
return response in json format. This is structure of response:
```json
{"message": "some success message", "files": [{"name": "", "ext": ""}], "url": "url to files directory"}
```
```json
{"reason": "message with reason why file does not uploaded"}
```
Also, status codes of response will be returned in headers.
License
MIT