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