flaviovs / yii2-croppie
Yii2 + Croppie integration extension
Installs: 5 757
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 1
Open Issues: 0
Type:yii2-extension
Requires
- php: >=5.6.0
- bower-asset/croppie: ^2.6
- bower-asset/exif-js: ^2.3
This package is auto-updated.
Last update: 2024-10-25 23:08:06 UTC
README
This extension integrates Croppie with Yii2 apps. It provides assets and a widget to facilitate uploads of cropped images.
Usage
Yii2-Croppie provides an widget plus an upload file class that inherits from yii\web\UploadedFile. That allows you to use native semantics for uploading files with this extension.
On your model
class Form extends \yii\base\Model { public $image; public function rules() { return [ ['image', 'image', 'enableClientValidation' => FALSE], ]; } }
IMPORTANT: If you use image
validation in your model
(recommended), you must disable client validation, as shown above.
In your view
$form->field($model, 'image') ->widget(\fv\yii\croppie\Widget::class)
In your controller
if ($app->request->isPost) { $form->image = \fv\yii\croppie\UploadedFile::getInstance($form, 'image'); if ($form->validate()) { $name = '/tmp/' . $form->image->baseName . '.' . $form->image->extension; $form->image->saveAs($name); $app->session->setFlash('success', 'Saved to ' . Html::encode($name)); return $this->refresh(); } }
Notes
No actual file upload by the browser happens. Consequently, the
extension never gets to know the name of the file that got sent for
cropping, and for compatibility with yii\web\UploadedFile
, a random
name is generated.