# Uploader
## Uploder
### config
参数 | 说明 | 类型 | 默认值 |版本
---|---|---|---|---
title?| 标题 |string|'详情图'|1.0.0
condition？| 上传相关验证 |imgConditione| defaultCcondition |1.0.0
onChange？| 上传成功cdn返回的url |(url:string)=>void|undefined|1.0.0
disabled?|是否禁止编辑|boolean|false|1.0.0
value?|图片的url|string|undefined|1.0.0
url?|图片的url|string|undefined|1.0.0
imgWrapStyle?|图片包裹的样式|any|undefined|1.0.0
onValidate?|自定义验证|(task:any,config:any,image:HTMLImageElement)=>boolean|undefined|1.0.0
CDNToken|七牛CDN的token|string|必传|1.0.0
CDNUrl|七牛CDN的拼接url|string|必传|1.0.0
### 类型
```typescript
type imgCondition = {
    // 上传相关的
    aspectRatio?: number;
    maxWidth?: number;
    minWidth?: number;
    maxHeight?: number;
    minHeight?: number;
    fileSizeMax?: number; // 单位kb
    fileSizeMin?: number; // 单位kb
    fileType?: string[]; // [.jpg, .png]
    sizeLimit?: string; // 这个会返回 >= <= 以及其他, 和分辨率连用, 比如, >=是指限制应该大于实际图片大小
    maxLength?: number; // 最长
    minLength?: number; // 最短
    required?: boolean;
    imgTotalLimit?: number[];
    maxNumber?: { limit: number, keys: string[] };
    minNumber?: { limit: number, keys: string[] };
    equal?: { limit: number, keys: string[] };
    pattern?: string;
    defaultUploadRender?: any;
}
const defaultCcondition = {
    fileSizeMax: 1024,            //单位kb
    fileType: ['jpg', 'png'],   // [.jpg, .png]
}
```
### example
```typescript
    <Uploder
        disabled={!putInfoEditRight['defaultBigIcon']}
        title='<=500px'
        condition={{
            fileSizeMax:30,
            maxWidth:500,
            maxHeight:500,
            fileType:['.gif','.jpg','.png']
        }}
        CDNToken={uploadToken}
        CDNUrl={uploadUrl}
    />
```

## UploadFile
### config
参数 | 说明 | 类型 | 默认值 | 是否必填 | 版本
---|---|---|---|---|---
CDNToken | 上传到CDN需要的有效token | string | 无 | 是 | 3.1.0
CDNUrl | 上传的CDN接口地址 | string | 无 | 是 | 3.1.0
CDNDir | 相对路径 | string | 无 | 是 | 3.1.0
fileType | 上传的文件类型后缀 | string | .xlsx | 否 | 3.1.0
fileMaxSize | 文件体积上限 | number | 1024 | 否 | 3.1.0
fileMinSize | 文件体积下限 | number | 0 |否--- | 3.1.0
fileUnit | 文件体积单位 | string | B | 否 | 3.1.0
onChange | 上传成功cdn返回的url后的回调 | (url: string) => void | 无 | 否 | 3.1.0


### 类型
```typescript
type UploadFilesProps = {
    CDNToken: string,
    CDNUrl: string,
    CDNDir: string,
    fileType?: string, // 默认 .xlsx
    fileMaxSize?: number, // 默认 1024
    fileMinSize?: number, // 默认 0
    fileUnit?: string, // 默认 B
    onChange?: (url: string) => void,
    [propsName: string]: any
}
```

### example
```typescript
<UploadFile
    CDNToken={'tokennnnnnnnnnnnnnnnnnn'}
    CDNUrl={'urllllllllllllllllll'}
    CDNDir='xxx/xxxx/xxxxx'
    fileMaxSize={30}
    fileUnit='MB'
/>
```