pafnow/yii2-upload-behavior

Yii2 文件/图片上传行为

dev-master 2014-11-11 12:11 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:38:09 UTC


README

FileUploadBehavior

此行为允许您通过ActiveRecord行为添加文件和图片上传逻辑。

使用方法

将行为附加到您的模型类

public function behaviors()
{
    return [
        'file-upload' => [
            'class' => '\lagman\upload\FileUploadBehavior',
            'attribute' => 'fileUpload',
            'filePath' => '[[web_root]]/uploads/[[id]].[[extension]]',
            'fileUrl' => '/uploads/[[id]].[[extension]]',
        ],
    ];
}

可能的路径/URL占位符

  • [[app_root]] - 应用程序根目录
  • [[web_root]] - 网站根目录
  • [[model]] - 模型名称
  • [[id]] - 模型ID
  • [[id_path]] - ID子目录结构
  • [[parent_id]] - 父对象主键值
  • [[basename]] - 带扩展名的原始文件名
  • [[filename]] - 不带扩展名的原始文件名
  • [[extension]] - 原始扩展名
  • [[base_url]] - 网站基本URL

添加验证规则

public function rules()
{
    return [
        ['fileUpload', 'file'],   
    ];
}

设置适当的表单enctype

$form = \yii\bootstrap\ActiveForm::begin([
    'enableClientValidation' => false,
    'options' => [
        'enctype' => 'multipart/form-data',
    ],
]);

文件上传应正常。

您可以使用模型调用获取上传文件的URL

echo $model->getUploadedFileUrl('fileUpload');

ImageUploadBehavior

Image上传行为扩展了文件上传行为,包括生成图片缩略图。您可以配置不同的缩略图配置文件以生成。

使用方法

将行为附加到您的模型类

public function behaviors()
{
    return [
        'image-upload' => [
             'class' => '\lagman\upload\ImageUploadBehavior',
             'attribute' => 'imageUpload',
             'thumbs' => [
                 'thumb' => ['width' => 400, 'height' => 300],
             ],
             'filePath' => '[[web_root]]/images/[[model]]/[[id]].[[extension]]',
             'fileUrl' => '/images/[[model]]/[[id]].[[extension]]',
             'thumbPath' => '[[web_root]]/images/[[model]]/[[profile]]_[[id]].[[extension]]',
             'thumbUrl' => '/images/[[model]]/[[profile]]_[[id]].[[extension]]',
        ],
    ];
}

可能的路径/URL占位符

  • [[app_root]] - 应用程序根目录
  • [[web_root]] - 网站根目录
  • [[model]] - 模型名称
  • [[id]] - 模型ID
  • [[id_path]] - ID子目录结构
  • [[basename]] - 带扩展名的原始文件名
  • [[filename]] - 不带扩展名的原始文件名
  • [[extension]] - 原始扩展名
  • [[base_url]] - 网站基本URL
  • [[profile]] - 缩略图配置文件名称

添加验证规则

public function rules()
{
    return [
        ['imageUpload', 'file', 'types' => 'jpeg, gif, png'],   
    ];
}

设置适当的表单enctype

$form = \yii\bootstrap\ActiveForm::begin([
    'enableClientValidation' => false,
    'options' => [
        'enctype' => 'multipart/form-data',
    ],
]);

文件上传应正常。

您可以使用模型调用获取上传图片的URL

echo $model->getUploadedFileUrl('imageUpload');

您还可以获取生成的缩略图图片URL

echo $model->getThumbFileUrl('imageUpload', 'thumb');

许可证

MIT

联系方式