slawap / yii2-uploadcare
Yii2 wrapper for uploadcare service
Requires
- bower-asset/uploadcare: ~2.10.4
- uploadcare/uploadcare-php: ^1.5
README
Uploadcare handles uploading, storing and processing files for you. All components of Uploadcare, from widget to CDN, work seamlessly together, require almost no configuration and allow maximum flexibility exactly when you need it.
Configuration
Api is a yii2 component, which is a facade to \Uploadcare\Api.
Example config:
'components' => [ 'uploadcare' => [ 'class' => 'uploadcare\yii2\Api', 'publicKey' => 'your_public_key', 'secretKey' => 'your_secret_key', 'globalWidgetOptions' => [ 'UPLOADCARE_LOCALE' => 'ru', ] ] ]
globalWidgetOptions - allow you set global options for all call of widget. supported options
Widget
Show file(s) input widget
Example call:
use uploadcare\yii2\UploadCare; echo $form->field($model, 'logo')->widget( UploadCare::className(), [ 'options' => [ 'data' => [ 'multiple' => true ] ], 'validators' => [ new \yii\web\JsExpression('function (fileInfo) { console.log("test1"); }'), new \yii\web\JsExpression('function (fileInfo) { console.log("test2"); }') ] ] );
Local widget settings you can set using html5 data attributes. supported options
Validators allow restricting user choice to certain kind of files.
Store file(s) permanently and set UUID to model attribute
Example config:
public function behaviors() { return [ 'logo' => [ 'class' => FilesBehavior::class, 'groupUUID' => false, 'attributes' => ['logo'] ] ]; }
File(s)Behavior call api method for save file(s) permanently.
FilesBehavior - set UIID to model attribute
FilesBehavior - group UIID or files UIID array (depending on the groupUUID attribute) to model attribute.
Show images
Image helper generates an image tag by UUID
Example:
echo Image::img($uuid, $options); //draw img tag echo Image::img($image, ['width' => '100'])->resize(200)->crop(100,100); //resize and crop image, then render img tag