Appearance
上传
文件上传示例
https://digi-dev.iwxh5.com/_adm/#/demo/ossUpload/index?accessid=37
使用文档说明
一、文件上传
版本说明
时间 | 修改人 | 备注 | 版本 |
---|---|---|---|
2022-12-05 | LZJ | 初始化文档 | 1.0.0 |
2023-01-06 | LZJ | 处理antd进度条 | 1.0.1 |
2023-01-18 | LZJ | 图片上传新增图片尺寸校验 | 1.0.2 |
使用说明
1. 使用插件阿里插件 ali-oss
npm安装
npm install ali-oss
2. 引入js
- 根据使用版本引入js
import useOss from "@/libs/common/oss/useAliOss.1.0.1.js";
3.使用
const objOss = new useOss();
objOss.init(config).then(() => {
objOss.uploadFile({
mode: 'img',
file: file, //file对象
progress: (p) => {
}
}).then(res => {
})
})
init方法options
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
config | 配置 | Object | 见下表, init方法options.config |
data | 获取oss配置参数 | Object | -- |
init方法options.config
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
fliePath | 文件上传路径 | String | oss配置的module + 当前年月日(示例:module/2022/12/05) |
folder | 文件夹,该字段影响fliePath的默认值(示例:module + folder/2022/12/05) | String | -- |
multipartUploadSize | 文件大小大于该值使用分片分片上传 | Number | 100 |
multipartParallel | 并发上传的分片数量 | Number | 4 |
multipartPartSize | 分片大小 | Number | 1 |
- 注意
folder
前后不要有‘/’
uploadFile方法options
参数 | 说明 | 类型 | 默认值 | 版本 |
---|---|---|---|---|
file | File对象,必填 | File | -- | 1.0.0 |
mode | 上传类型: img 、video 、doc 、file | String | file | 1.0.0 |
fileSize | 文件大小 | Number | 5 | 1.0.0 |
dimensions | mode 为img 时有效,图片上传时校验尺寸 | Object | 1.0.2 | |
progress | 上传进度回调 | Function | -- | 1.0.0 |
onProgress | 直接处理进度展示,仅antd上传组件有效 | Function | -- | 1.0.1 |
- dimensions支持设置
ratio
、maxWidth
、maxHeight
: ratio :宽高比(即宽度除以高度),如1.500
(目前只支持小数点后3位),默认为0不做验证; maxWidth :最大宽度,默认为0不做验证; maxHeight:最大高度,默认为0不做验证;
二、图片上传组件
版本说明
时间 | 修改人 | 备注 | 版本 |
---|---|---|---|
2022-01-06 | LZJ | 初始化文档 | 1.0.0 |
项目示例
svn://39.107.13.238:12580/base_digi 位置:/src/pages/demo/ossUpload/index
使用示例
- 引入组件
import OssUploadImg from '@/libs/common/oss/upload'
- 使用
template
<OssUploadImg v-model:fileList="objForm.oss_imgs" :config="{mode:'img',maxCount:1 }"
@success="onUplaodSeccess($event,'oss_imgs')"></OssUploadImg>
js
const formConf = reactive({
// 表单对应的字段名
objForm: {
oss_imgs: []
},
// 校验规则
rules: {
oss_imgs: [{
required: false
}]
},
onUplaodSeccess: (res,key) => {
let fileList = formConf.objForm[key];
fileList[fileList.length - 1].thumbUrl = res.filename_url;
//filename为图片短链接,保存时用
fileList[fileList.length - 1].filename = res.filename;
}
})
config
参数 | 说明 | 类型 | 默认值 | 版本 |
---|---|---|---|---|
maxCount | 文件数量 | String | 1 | 1.0.0 |
name | 文件名称 | String | 'img' | 1.0.0 |
openCut | 是否开启裁剪,配合裁剪组件使用 | Number | 50 | 1.0.0 |
- 组件调用的是useOss的uploadFile方法上传,config会作为uploadFile方法的options,也就是说除了上表的参数也支持uploadFile方法的option。
- 裁剪示例位置:/src/pages/demo/ossUpload/index