时间:2021-05-25
图片上传几乎是应用必备,前面也针对 kartik 的 fileinput 做了一篇详细的说明,不过很多人反馈各种问题,下面针对 webuploader 的使用单独写了一个组件。该组件可以更好的处理 Yii2 在图片上传过程中带来的一系列问题,目前支持多图多字段多modal的混合上传。
介绍之前我们先演示下效果。
安装
推荐使用composer进行安装
$ php composer.phar require bailangzhan/yii2-webuploader dev-master使用
params.php或者params-local.php内增加webuploader和domain配置项
// 图片服务器的域名设置,拼接保存在数据库中的相对地址,可通过web进行展示'domain' => 'http://blog.m/','webuploader' => [ // 后端处理图片的地址,value 是相对的地址 'uploadUrl' => 'blog/upload', // 多文件分隔符 'delimiter' => ',', // 基本配置 'baseConfig' => [ 'defaultImage' => 'http://img1.imgtn.bdimg.com/it/u=2056478505,162569476&fm=26&gp=0.jpg', 'disableGlobalDnd' => true, 'accept' => [ 'title' => 'Images', 'extensions' => 'gif,jpg,jpeg,bmp,png', 'mimeTypes' => 'image/*', ], 'pick' => [ 'multiple' => false, ], ],],webuploader['baseConfig'] 参考 webuploader官方的参数说明
视图文件
单图
<?php echo $form->field($model, 'file')->widget('manks\FileInput', [ ]); ?>多图
<?php echo $form->field($model, 'file2')->widget('manks\FileInput', [ 'clientOptions' => [ 'pick' => [ 'multiple' => true, ], // 'server' => Url::to('upload/u2'), // 'accept' => [ // 'extensions' => 'png', // ], ],]); ?>控制器 controller的地址可以在params.php或者params-local.php中配置 Yii::$app->params['webuploader']['uploadUrl'], 也可以在 clientOptions中配置 server 项。控制器需要返回的数据格式如下
// 错误时{"code": 1, "msg": "error"}// 正确时, 其中 attachment 指的是保存在数据库中的路径,url 是该图片在web可访问的地址{"code": 0, "url": "http://domain/图片地址", "attachment": "图片地址"}clientOptions同样参考 webuploader官方的参数说明
注意
如果是修改的多图片操作,务必保证 $model->file = 'src1,src2,src3,...'; 或者 $model->file = ['src1', 'src2'. 'src3', ...];
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文讲述了yii2高级应用之自定义组件实现全局使用图片上传功能的方法。分享给大家供大家参考,具体如下:此例为yii2高组应用,这里只提供一个简单的事例在yii2
本文实例讲述了Yii2实现ajax上传图片插件用法。分享给大家供大家参考,具体如下:这里需要先下载mdmsoft/yii2-upload-file.插件。代码如
在上篇文章给大家介绍了如何在yii2中集成百度编辑器umeditor以及如何解决umeditor上传图片问题。今天我们来谈谈yii2集成另外一个强大好用的富文本
这回要说的是,如何给Yii2项目添加外部资源(externalassets),以FontAwesome为例子。Yii2开始使用composer来做项目的依赖管理
本人搜索了很多关于yii2利用自带UploadedFile实现上传图片介绍,下面我来记录一下。创建一个models/UploadForm.php:namespa