5.2.3 • Published 3 months ago

@shihuo/upload-component v5.2.3

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

统一上传组件

@shihuo/upload-component

基于 fusion Upload 组件,实现统一的上传配置入口,支持所有用法,特殊用法和说明你请看下方 API 和实际使用用例

@alifd/next 版本: ^1.19.8

API

参数名说明必填类型默认值备注
validate校验模式booleanfalse开启后自定校验字段生效。默认情况下用法等同fusion的Upload组件v4.0.0版本后进行调整,设置validate属性开启图片上传校验能力。
shape上传按钮形状enum在fusion的upload组件的shape配置基础上新增integrate,展示整合组件模式v2.0.4
preventMessage阻止内置提示框弹出booleanfalse
volume文件大小限制number2文件大小最大限制,可输入浮点数单位:M
ratio宽高比string/number/Array1:1预设 1:1、3:4选项支持传入字符串格式 "数字:数字"如:10:7 表示宽/高必须10/7支持传入数字:值表示宽/高支持传入数组:其中一种宽高比通过即校验通过
widthRange宽度范围number/string/Array600, 2500null表示不限宽number以及字符串数字表示固定宽度
heightRange高度范围number/string/Array600, 2500同withRange
beforeUploadVolumeErrorfunctionbeforeUpload阶段【文件大小】校验不通过触发反参:{errorMessage}, file, reader, options
beforeUploadRatioErrorfunctionbeforeUpload阶段【比例】校验不通过触发反参:{errorMessage}, file, reader, options
beforeUploadSizeErrorfunctionbeforeUpload阶段【尺寸】校验不通过触发反参:{errorMessage}, file, reader, options
onValidateError整体校验错误回调function: () => object反参: { volume: boolean 【false大小校验不通过】 volumeError: 错误信息 ratio: boolean【false宽高比校验不通过】 ratioError size: boolean 【false尺寸校验不通过】 sizeError} file:文件对象 reader:FileReader options:beforeUpload透传的options
blockCheck阻断校验booleanfalse设置true情况:校验不通过时立即停止继续执行。执行对应beforeUpload错误回调函数。并执行onValidateError回调
dataURLToFilebase64转换成file对象functionv1.1.2
Validator校验器class校验器入参volume、ratio、widthRange、heightRange
onOpenTool打开素材库回调传入时显示打开素材库按钮仅shape=integrate或Upload.Integrate生效v2.0.0
appKey上传的tokenstring联系上传服务负责人开通v4.0.0
forceAppKey上传的tokenstring强制设置appKey,不受环境因素影响。与appKey区别在于:appKey只在正式环境生效,测试环境依然传递默认appKey。v5.1.0

注意:组件内部预定义了上传配置,覆盖action后内置上传配置失效,同时内置formatter配置失效。

Upload.dataURLToFile

base64转换成file对象

入参:base64字符串,文件名称,自定义mime

const file = Upload.dataURLToFile('data:image;xxxxx', '文件名', 'mime');
v1.1.2+
Upload.Validator

校验器

入参: volume、ratio、widthRange、heightRange

const validator = new Validator({ volume: 2, ratio: 1, widthRange: [600, 2500], heightRange: [600, 2500] });
// 单独校验文件大小
// @params total 文件大小
// @return object: 
// volume: boolean 是否校验通过,true通过,false不通过。
// volumeError: string 错误信息
const volumeResult = validator.validateVolume(total);
// 单独校验宽高比例
// @params width
// @params height
// @return object: 
// ratio: boolean 是否校验通过,true通过,false不通过。
// ratioError: string 错误信息
const ratioResult = validator.validateVolume(width, height);
// 单独校验宽高范围
// @params width
// @params height
// @return object: 
// size: boolean 是否校验通过,true通过,false不通过。
// sizeError: string 错误信息
const sizeResult = validator.validateRange(width, height);

// 综合校验
// @params width 宽
// @params height 高
// @params total 大小
// @return object:
// volume: boolean 是否校验通过,true通过,false不通过。
// volumeError: string 错误信息
// ratio: boolean 是否校验通过,true通过,false不通过。
// ratioError: string 错误信息
// size: boolean 是否校验通过,true通过,false不通过。
// sizeError: string 错误信息
// errorMessage: 总的错误信息
const error = validator.exec({ width, height, total });
v1.1.2+
Upload.ACTION

v4.0.0后失效

Upload.NAME

v4.0.0后失效

Upload.ACCEPT
Upload.WITH_CREDENTIALS

v4.0.0后失效

Upload.VOLUME
Upload.WIDTH_RANGE
Upload.HEIGHT_RANGE
Upload.RATIO
v3.1.0+
Upload.isBlob
// 判断url是否blob
Upload.isBlob('blob:https://**********/**********'); // true | false
Upload.isBase64
// 判断url是否base64
Upload.isBase64('xxxxxx'); // true | false
Upload.isLink
// 判断url是否http[s]链接
Upload.isLink('https://xxxxxx'); // true | false
Upload.getFileSuffix
// 获取url上的文件后缀 默认jpeg(支持link, blob://, base64图片链接)
Upload.getFileSuffix('https://xxxx/xxxx.png'); // png
Upload.toDataURL
// 转base64 (支持跨域图片)
Upload.toDataURL('https://xxxx/xxxx.png');
Upload.urlToFile
// url转file (支持跨域图片)
Upload.urlToFile('https://xxxx/xxxx.png');
Upload.generateFileResponse
v4.0.0+
Upload.getEnv
// 获取本地环境
Upload.getEnv(); // tst | prd
Upload.getToken
// 通过appKey获取上传token
Upload.getToken(appKey);

// return
// env 当前环境
// type 服务商类型 2:七牛
// token 服务商上传的token
// objectKey 图片相对路径(不包含域名部分)
// domain 图片域名(完整图片url domain + objectKey)
Upload.upload
5.2.4

3 months ago

5.2.3

3 months ago

5.1.0

8 months ago

5.2.2

6 months ago

5.2.1

7 months ago

5.2.0

7 months ago

4.0.10

1 year ago

4.0.7

1 year ago

4.0.12

1 year ago

4.0.11

1 year ago

5.0.3

1 year ago

5.0.2

1 year ago

5.0.1

1 year ago

5.0.0

1 year ago

4.0.9

1 year ago

4.0.8

1 year ago

3.1.0

1 year ago

4.0.5

1 year ago

4.0.4

1 year ago

4.0.6

1 year ago

4.0.1

1 year ago

4.0.0

1 year ago

4.0.3

1 year ago

4.0.2

1 year ago

3.0.2

1 year ago

3.0.1

1 year ago

3.0.0

1 year ago

2.0.13

1 year ago

2.0.11

2 years ago

2.0.12

1 year ago

2.0.10

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.5

2 years ago

2.0.4

2 years ago

2.0.6

2 years ago

2.0.9

2 years ago

2.0.8

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago