1、选择图片、预览图片、删除图片;
2、支持默认值设置;
4、完善的多图上传功能、带有上传进度 ;
5、上传失败重试功能;
6、上传成功返回图片数据并激活对应事件;
gui-upload-images : /graceUI/组件目录/gui-upload-images
属性名称 | 类型 | 默认值 | 作用 |
maxFileNumber | 数字 | 9 | 最大图片选择数 |
btnName | 字符串 | 添加照片 | 按钮文本 |
removeBtnColor | 字符串 | rgba(0, 0, 0, 0.8) | 删除按钮文本颜色 |
uploadServerUrl | 字符串 | 上传服务器 api 地址 | |
progressSize | 数字 | 1 | 进度条尺寸 |
progressColor | 字符串 | #27BD81 | 进度条激活颜色 |
progressBGColor | 字符串 | #F8F8F8 | 进度条背景颜色 |
fileName | 字符串 | img | 上传时的文件名 |
formData | 对象 | {} | 上传时携带的表单数据 |
imgMode | 字符串 | widthFix | 图片 mode 属性 |
header | 对象 | {} | 上传时携带的 header 数据 |
save2uniCloud | 布尔 | false | 为 true 时基于 uniCloud 将图片上传至 uniCloud 云存储中 |
sourceType | 数组 | ['album', 'camera'] | 图片源类型 'album' : 相册 , 'camera' : 摄像头 |
borderRadius | 字符串 | 0rpx | 组件圆角尺寸 |
maxFileSize | 数字 | 5 | 单图最大尺寸, 默认 5,单位 m ( 200k = 0.2m ) 2023.07.31 新增属性 |
01. 组件 <gui-upload-images ...... :save2uniCloud="true"></gui-upload-images>
02. 在 hx 内完成云服务空间配置工作,并选择阿里云
1、upload 开始上传函数 2、setItems 设置默认值函数 3、clearAllImgs 清空图片 4、removeImg 删除某个图片
成功: {status : 'ok', data : '上传后图片地址', result : "完整的上传服务器返回的数据"} 失败: {status : 'error', data : '具体错误信息'}
写一个简单的单图上传功能,调试接口返回值,保证接口无误再使用组件;
<?php class uploadController extends grace{ public function index(){ $this->allowSize = 5; if(!empty($_FILES['img'])){ //获取扩展名 $exename = $this->getExeName($_FILES['img']['name']); //检查扩展名 if(!in_array($exename, array('png', 'gif', 'jpeg', 'jpg'))){$this->json('格式错误', 'error');} //检查文件大小 if($_FILES['img']['size'] > $this->allowSize*1024*1024){$this->json('文件过大', 'error');} //本地上传 $file = uniqid().'.'.$exename; $imageSavePath = 'uploadimgs/'.$file; if(move_uploaded_file($_FILES['img']['tmp_name'], $imageSavePath)){ // 请严格按照下面的 json 的格式返回数据 $arr = array('status'=>'ok', 'data' => 'http://您的域名/'.$imageSavePath, 'result' => '您的自定义内容'); exit(json_encode($arr)); }else{ $arr = array('status'=>'error', 'data' => '具体的错误信息', 'result' => '您的自定义内容'); exit(json_encode($arr)); } } } public function getExeName($file){ $pathinfo = pathinfo($file); return strtolower($pathinfo['extension']); } }
微信小程序端需要用户授权,教程 :
https://www.lesscode.work/sections/0735aed114050bfc76953849840b05ca.html