exocet / yii2-upload-file-behavior
一个为简化与ActiveRecord模型相关联的文件和图片的上传及管理流程而设计的Yii2行为。
Requires
- yiisoft/yii2: ^2.0.0
- yiisoft/yii2-imagine: ^2.2
README
UploadFileBehavior
是一个为简化文件和/或图片的上传流程而设计的Yii2行为。它管理与ActiveRecord模型相关联的文件的处理和存储。
特性
- ActiveRecord模型文件上传。
- 可自定义的文件保存步骤。
- 缩略图生成。
- 可重命名上传文件。
- 当关联记录被删除时,能够删除文件。
- 更新时自动清理目录。
安装
通过composer安装此扩展是首选方式。
composer require "exocet/yii2-upload-file-behavior"
设置和配置
-
包含新的行为
use exocet\yii2UploadFileBehavior\UploadFileBehavior;
-
将上传文件属性添加到您的模型中
public $upload_file;
-
添加您的图像路径或类似的安全规则
[['image_path'], 'safe'],
-
将行为附加到您的模型上
public function behaviors() { return [ 'uploadFileBehavior' => [ 'class' => UploadFileBehavior::className(), 'nameOfAttributeStorage' => 'image_path', //... other configurations ], ]; }
配置选项
以下是配置选项的快速概述
-
modelAttributeForFile
: (string) 接收表单文件的模式属性。默认为'upload_file'
。 -
modelAttributeForStorage
: (string) 存储文件路径或引用的模式属性。默认为'images'
。 -
newFileName
: (bool|string) 保存上传文件的新文件名。默认为false
(意味着不会重命名)。 -
steps
: (array) 详细说明上传文件保存位置和方式的配置。这可以包括缩略图生成、不同的保存路径等。 -
thumbnailPrefix
: (string) 生成缩略图的名称前缀。默认为'thumb-'
。 -
originalPrefix
: (string) 保存原始图像副本时使用的名称前缀。默认为'original-'
。 -
scenarios
: (array) 触发此行为的情况。默认为['default']
。 -
deleteImageWithRecord
: (bool) 当关联记录被删除时是否删除文件。默认为false
。 -
cleanDirWithUpdate
: (bool) 更新文件时是否清理上传目录。默认为false
。
有关更详细的示例和如何设置steps
配置的说明,请参阅代码注释中的示例。
贡献
请随意通过打开问题、拉取请求或提供反馈来为此项目做出贡献。您的贡献受到欢迎!
专为Yii2开发者设计,充满爱心。