更新记录
1.0.1(2025-02-13)
下载此版本
1.0.0(2025-02-06)
下载此版本
- 通用图片、视频文件上传组件
- 支持图片放大预览
- 支持视频播放
- 上传视频带进度条
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.1.0 |
× |
√ |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
鸿蒙元服务 |
× |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
ziqirj-media-upload 图片/视频文件上传组件
组件名:ziqirj-media-upload
代码块: ziqirj-media-upload
关联组件:scss/sass, uni-icons, liu-progressbar, ksp-cropper
插件说明
- 1、通用图片、视频文件上传组件
- 2、支持图片放大预览
- 3、支持视频播放
- 4、上传视频带进度条
使用说明
组件参数
参数 |
类型 |
默认值 |
必填 |
描述 |
fileType |
Stirng |
all |
false |
选择文件类型,可选值:image、video |
param |
Stirng |
file |
false |
表单属性名 |
list |
Array |
[] |
false |
回显文件列表,数据格式:{name: '文件名', url: '访问路径'} |
limit |
Number |
1 |
false |
可上传文件数量 |
maxMN |
Number |
100 |
false |
最大可上传文件,单位:M |
autoUpload |
Boolean |
true |
false |
自动上传,为false时,触发@upload事件 |
url |
Boolean |
无 |
false |
自动上传路径,autoUpload为true时必填,为空值时,触发@upload事件 |
headers |
Object |
{} |
false |
自动上传携带请求头 |
upName |
Stirng |
file |
false |
后台接收文件对象属性名 |
formData |
Object |
{originalFileName: '原文件名'} |
false |
自动上传表单携带参数 |
forbidden |
Boolean |
false |
false |
是否禁用 |
sourceType |
Array |
['album'] |
false |
媒体文件来源,album 从相册选图,camera 使用相机 |
clipping |
Boolean |
true |
false |
是否启用图片剪裁,fileType===image时可用 |
config |
Object |
{name: 'name', url: 'url'} |
false |
自动上传返回值属性名配置 |
回调函数
方法名 |
参数 |
描述 |
clickItem |
res |
文件点击事件,携带参数为:{index: 文件索引, item: 文件对象} |
upload |
res |
文件手动上传事件,autoUpload为false或url为空时调用,携带参数为:uni.chooseFile success返回参数 |
callback |
event, item, param, affixList |
文件上传/移除成功回调函数 |
@callback函数参数
参数 |
类型 |
描述 |
event |
Stirng |
操作事件,固定值:上传-upload、移除-remove |
item |
Object |
当前上传/移除对象 |
param |
Stirng |
组件参数中传入表单属性名 |
affixList |
Array |
当前文件数组,数据格式:{name: '文件名', url: '访问路径'} |
使用示例
<template>
<view style="margin: 0 15px;">
<text>图片上传</text>
<ziqirj-media-upload param="imageList"
:list="form.imageList"
:limit="5"
:maxMN="10"
url='http://localhost:9002/common/upload'
:headers="headers"
:config="{name: 'originalFilename', url: 'url'}"
:clipping="true"
@callback="callback">
</ziqirj-media-upload>
<text>视频上传</text>
<ziqirj-media-upload fileType="video"
param="videoList"
:list="form.videoList"
:limit="5"
:maxMN="10"
url='http://localhost:9002/common/upload'
:headers="headers"
:config="{name: 'originalFilename', url: 'url'}"
@callback="callback">
</ziqirj-media-upload>
</view>
</template>
<script>
export default {
data() {
return {
headers: {},
form: {
imageList: [],
videoList: []
}
}
},
methods: {
callback(res) {
console.log("callback", res)
// 设置文件列表值到表单属性
this.form[res.param] = res.affixList
},
uploadFn(res) {
console.log("uploadFn", res)
}
}
}
</script>
<style>
</style>
依赖组件
如使用过程中有任何问题,或者您对组件有一些好的建议,欢迎留言