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