exocet/yii2-upload-file-behavior

一个为简化与ActiveRecord模型相关联的文件和图片的上传及管理流程而设计的Yii2行为。

1.0.0 2023-09-20 17:20 UTC

This package is auto-updated.

Last update: 2024-09-20 19:20:57 UTC


README

UploadFileBehavior是一个为简化文件和/或图片的上传流程而设计的Yii2行为。它管理与ActiveRecord模型相关联的文件的处理和存储。

特性

  • ActiveRecord模型文件上传。
  • 可自定义的文件保存步骤。
  • 缩略图生成。
  • 可重命名上传文件。
  • 当关联记录被删除时,能够删除文件。
  • 更新时自动清理目录。

安装

通过composer安装此扩展是首选方式。

composer require "exocet/yii2-upload-file-behavior"

设置和配置

  1. 包含新的行为

    use exocet\yii2UploadFileBehavior\UploadFileBehavior;
  2. 将上传文件属性添加到您的模型中

    public $upload_file;
  3. 添加您的图像路径或类似的安全规则

    [['image_path'], 'safe'],
  4. 将行为附加到您的模型上

    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开发者设计,充满爱心。