i-avatar777 / yii2-widget-file-upload7
Виджет для загрузки файла
Installs: 221
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=5.4.0
- i-avatar777/yii2-asset-jquery-upload1: *
- yiisoft/yii2: *
Requires (Dev)
README
Виджет для загрузки файла
Используется для \cs\base\FormActiveRecord
или как самостоятельно в форме. Если первый вариант то можно еще указать событие для удаления файла при удалении строки таблицы.
Загружает на сервер AvatarCloud или на локальный сервер если сформировано окружение.
Окружение для загрузки файла на локальный сервер
Установка
Пример использования
<?= \iAvatar777\widgets\FileUpload7\FileUpload::widget([ 'model' => $model, 'attribute' => 'file', ]) ?>
<?= $form->field($model, 'user_foto')->widget('\iAvatar777\widgets\FileUpload7\FileUpload', [ 'update' => [ [ 'function' => 'crop', 'index' => 'crop', 'options' => [ 'width' => '300', 'height' => '300', 'mode' => 'MODE_THUMBNAIL_CUT', ], ], ], 'settings' => [ 'maxSize' => 20 * 1000, 'server' => Yii::$app->AvatarCloud->url, 'controller' => 'upload', 'functionSuccess' => new \yii\web\JsExpression(<<<JS function (response) { // Вызываю AJAX для записи в school_file ajaxJson({ url: '/site/file-upload7-save', data: { file: response.url, school_id: 71, type_id: 25, size: response.size, // Размер файла в байтах update: response.update }, success: function (ret) { } }); } JS ), ], 'events' => [ 'onDelete' => function ($item) { $r = new \cs\services\Url($item['image']); $d = pathinfo($r->path); $start = $d['dirname'] . '/' . $d['filename']; \common\models\school\File::deleteAll(['like', 'file', $start]); }, ], ] ) ?>
Параметры
FileUpload7.init(options)
или параметр settings
controller
- идентификатор контроллера который направлен на \iAvatar777\assets\JqueryUpload1\Upload2Controllerselector
- запрос JQuery идентифицирующий элемент (input) загрузки. по умолчанию'.FileUpload7'
maxSize
- макс размер файла в KBserver
- путь к внешнему серверу, по умолчанию '' (Например 'https://cloud1.i-am-avatar.com')allowedExtensions
- массив расширений которые возможны для загрузки. По умолчанию['jpg', 'jpeg', 'png']
accept
- mime тип который можно загрузить. По умолчанию'image/*'
data
- Массив данных которые надо передать на действие сохранения файлаbutton_label
- текст на кнопке
Как работает
Определить сервер для загрузки
?
Если при удалении изобрадении надо передавать ключ то как Какой концепт работы с виджетом? Если работает с AvatarCloud то значит надо передавать ключ для удаления файла для облака.