cyneek / yii2-widget-upload-crop
表单输入小部件,允许用户上传图片并设置裁剪尺寸。
Requires
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-14 16:50:11 UTC
README
小部件,可以在表单中创建一个文件输入字段,用于存储将要上传到服务器的图片以及裁剪图片所需的数据。
此包已弃用,请参阅 https://github.com/ashismohanty/yii2-widget-upload-crop 以访问新版本。
上传裁剪小部件是什么?
此小部件添加了一个新的文件输入字段,允许用户通过表单上传图片到服务器,并附带裁剪图片所需的数据。这些数据通过JavaScript获取,使用裁剪选择器,用户可以在选择文件输入字段中的图片时通过一个弹出的模态窗口使用。
由Joseba Juániz开发 (@Patroklo)
最低要求
- Yii2
- PHP 5.4 或更高版本。
- JQuery
未来计划
- 没有任何计划。
许可
这是一款免费软件。它根据以下BSD许可协议发布。
版权所有 (c) 2014,Cyneek 保留所有权利。
重新分发和使用源代码和二进制代码,无论是修改后还是未修改,都允许,前提是满足以下条件
- 源代码的重新分发必须保留上述版权声明、本条件和以下免责声明。
- 二进制代码的重新分发必须复制上述版权声明、本条件和以下免责声明在提供的文档或其他材料中。
- 未经事先书面许可,不得使用Cyneek或其贡献者的名称来认可或推广由此软件派生的产品。
本软件由版权所有者“按原样”提供,并明确或暗示地放弃任何保证,包括但不限于对适销性和针对特定目的的适用性的暗示保证。在任何情况下,版权所有者都不对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论此类损害是由何种原因引起的,无论是在合同、严格责任还是侵权(包括疏忽或不计)中产生,即使已告知此类损害的可能性。
安装
如何工作
小部件将默认包含所有必要的JavaScript和表单字段,以实现其正常工作。一旦数据已从表单发送到服务器,将需要获取文件和裁剪数据,以便将其应用于模型属性和图片本身。
echo \cyneek\yii2\widget\upload\crop\UploadCrop::widget(['form' => $form, 'model' => $model, 'attribute' => 'fieldName']);
由于这个库中的输入字段是一个与ActiveForm系统本身无关的Widget,因此存在一个问题,即无法制作出包含该Widget所包含表单的所有默认选项和异常的输入。这包括PHP或CSS更改、客户端验证配置等。为了解决这个问题,Widget提供了一个选项,允许开发者在定义的情况下将ActiveForm对象添加到Widget中,如果定义了该对象,Widget将使用它来创建所有输入字段。
恢复表单图像和裁剪数据
表单将以此方式将数据发送到服务器
-
图像文件:必须以常规方式分配给模型属性本身。例如
-
裁剪值:将以数组形式发送到Yii 2
["fieldName-cropping"]=> array(4) { ["x"]=> string(1) "12" ["width"]=> string(3) "400" ["y"]=> string(1) "0" ["height"]=> string(3) "297" }
Widget方法选项
- model (string) (必填)
定义用于制作表单输入字段的模型。
- attribute (string) (必填)
定义用于制作表单输入字段的模型属性。
- form (ActiveForm) (可选)
这是包含该Widget的表单的ActiveForm对象。它将在创建输入字段时用于继承表单配置。
- enableClientValidation (boolean) (可选)
当表单选项未定义时使用。它确定是否在Widget输入字段中激活Yii2 JavaScript客户端验证。
- imageOptions (array) (可选)
包含将添加到用于在模态中定义裁剪数据的图像字段的选项的列表。格式应为['option' => 'value']。
- jcropOptions (array) (可选)
包含在创建裁剪对象时添加到JavaScript中的选项的列表。有关可以添加哪些选项的更多信息,您可以阅读此网页。
- maxSize (integer) (可选)
默认为300,这是定义应用于选择裁剪区域后显示的预览图像的最大高度和最大宽度的属性。