分享一个yii2-webuploader组件,轻轻松松解决图片上传 [ 2.0 版本 ]
作者:白狼 出处:http://www.manks.top/document/yii2-webuploader.html
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
yii2-webuploader
==========================
此扩展集成webuploader图片上传插件,旨在更好的处理 Yii2 framework 图片上传的前端问题,目前支持多图多字段多modal的混合上传。
Demo 演示
安装
推荐使用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,
],
],
],
视图文件
单图
<?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": "图片地址"}
注意
如果是修改的多图片操作,务必保证 $model->file = 'src1,src2,src3,...'; 或者 $model->file = ['src1', 'src2'. 'src3', ...];
白狼栈
注册时间:2016-04-12
最后登录:2023-03-08
在线时长:90小时7分
最后登录:2023-03-08
在线时长:90小时7分
- 粉丝332
- 金钱1371
- 威望500
- 积分7271
共 12 条评论
狼哥,我试了一下,图片可以正常上传到服务器,但是前台页面没有更新,无论是单图片还是多图片。检查了返回的JSON数据格式没有问题,$model->file中保存的多图片数据也可以在前台显示,删除图片提交后可以更新数据,但是上传就更新不了。
我错了,试了可以了用。是我返回的数据格式问题。
是ajax吗
是的,这里有展示的效果图,你可以看看
https://github.com/bailangzhan/demo/blob/master/images/yii2-webuploader.gif
控制器里面的代码有吗?不知道怎么写。刚才写了下,总是报错。
有没有人跟我一样,点击了选择图片按钮什么反应也没
我,没反应不知道啥情况
有没有人跟我一样,点击了选择图片按钮什么反应也没
狼哥,'defaultImage' => 'http://img1.imgtn.bdimg.com/it/u=2056478505,162569476&fm=26&gp=0.jpg', 这个参数配什么的,
点击选择图片无反应
你好,yii2.0中做限制图片上传的数量的时候,怎么修改弹框的内容呢?
坑。
为了做扩展,代码越写越麻烦,功能也变少。
体会到一句话:大框架,大麻烦
不能认可你的说法,YII2框架设计非常精巧,功能完善。很适合拿来作为企业的基础框架使用,可以不断完善,新增功能。后续使用的效率持续提高。
控制器能不能贴一下,老是搞这种一半的教程
新手应该是看不懂这个教程..大家看看下面教程,还不错,也是讲yii2 webUploader的,比这个好多了. https://blog.csdn.net/wlzx120/article/details/78126678
如何控制上传图片的数量?没有相关参数啊。。。