i-avatar777 / yii2-widget-file-upload7
文件上传小部件
0.0.11
2021-09-19 19:54 UTC
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\Upload2Controller的控制器标识符selector
- JQuery查询,用于识别(input)上传元素。默认'>.FileUpload7'
maxSize
- 文件最大大小(KB)server
- 外部服务器路径,默认''(例如 'https://cloud1.i-am-avatar.com')allowedExtensions
- 允许上传的扩展名数组。默认['jpg', 'jpeg', 'png']
accept
- 可上传的MIME类型。默认'image/*'
data
- 要发送到文件保存操作的数组数据button_label
- 按钮文本
工作原理
确定上传服务器
?
如果删除图片时需要传递密钥,则如何使用小部件?如果与AvatarCloud一起工作,则意味着需要传递用于云删除文件的密钥。