graceSelectImgAndUpload : /graceUI/组件目录/graceSelectImgAndUpload
1、选择图片、预览图片 2、支持图片删除 3、支持默认值设置 4、完善的多图上传功能 [ 带有上传进度 ] 5、上传失败重试 6、上传成功返回图片数据并激活对应事件
| 属性名称 | 类型 | 默认值 | 作用 | 
| maxFileNumber | 数字 | 9 | 最大图片选择数 | 
| btnName | 字符串 | 添加照片 | 按钮文本 | 
| closeBtnColor | 字符串 | #666666 | 删除按钮文本颜色 | 
| uploadServerUrl | 字符串 | 上传服务器 api 地址 | |
| progressSize | 数字 | 1 | 进度条尺寸 | 
| progressColor | 字符串 | #27BD81 | 进度条激活颜色 | 
| progressBGColor | 字符串 | #F8F8F8 | 进度条背景颜色 | 
| fileName | 字符串 | img | 上传时的文件名 | 
| formData | 对象 | {} | 上传时携带的表单数据 | 
| imgMode | 字符串 | widthFix | 图片 mode 属性 | 
| header [ 2020-04-18 新增 ] | 对象 | {} | 上传时携带的 header 数据 | 
| save2uniCloud | 布尔 | false | 为 true 时基于 uniCloud 将图片上传至 uniCloud 云存储中 | 
01. 组件
<graceSelectImgAndUpload ...... :save2uniCloud="true"></graceSelectImgAndUpload>
02. 在 hx 内完成云服务空间配置工作,并选择阿里云
1、upload 开始上传函数 2、setItems 设置默认值函数 3、clearAllImgs 清空图片 4、removeImg 删除某个图片 2020-06-04 新增
后端接口返回值格式要求
成功:
{status : 'ok', data : '上传后图片地址', [2020-03-23 新增] 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']);
    }
}