更新记录
1.0.1(2025-02-13)
下载此版本
修复fileType为all,未指定suffix值时,点击按钮不弹出选择文件bug
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-file-upload 文件上传组件
组件名:ziqirj-file-upload
代码块: ziqirj-file-upload
关联组件:scss/sass, uni-icons, ziqirj-file-preview
插件说明
- 1、通用文件上传组件
- 2、支持图片文件预览
- 3、已上传文件支持删除
使用说明
组件参数
参数 |
类型 |
默认值 |
必填 |
描述 |
fileType |
Stirng |
all |
false |
选择文件类型,可选值:image、video、media、all |
param |
Stirng |
file |
false |
表单属性名 |
list |
Array |
[] |
false |
回显文件列表,数据格式:{name: '文件名', url: '访问路径'} |
limit |
Number |
1 |
false |
可上传文件数量 |
maxMN |
Number |
10 |
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 |
自动上传表单携带参数 |
config |
Object |
{name: 'name', url: 'url'} |
false |
自动上传返回值属性名配置 |
forbidden |
Boolean |
false |
false |
是否禁用 |
suffix |
Array|Stirng |
无 |
false |
可选文件后缀,fileType为all时生效 |
placeholder |
String |
无 |
false |
提示内容 |
filePreview |
Boolean |
true |
false |
是否启用预览,为false时,触发@clickItem事件,H5仅支持图片、音频文件预览 |
回调函数
方法名 |
参数 |
描述 |
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-file-upload param="allList"
:list="form.allList"
:limit="5"
:maxMN="50"
url='https://test.ipx.jjzqkj.cn/common/upload'
:headers="headers"
suffix="doc,docx,xls,xlsx,pdf,png,jpg,jpeg,mp3,mp4"
:config="{name: 'originalFilename', url: 'url'}"
@callback="callback">
</ziqirj-file-upload>
<text>媒体文件</text>
<ziqirj-file-upload fileType="media"
param="mediaList"
:list="form.mediaList"
:limit="5"
:maxMN="50"
url='https://test.ipx.jjzqkj.cn/common/upload'
:headers="headers"
:config="{name: 'originalFilename', url: 'url'}"
@callback="callback">
</ziqirj-file-upload>
<text>手动上传</text>
<ziqirj-file-upload param="notAutoList"
:list="form.notAutoList"
:limit="5"
:maxMN="50"
:auto-upload="false"
suffix="doc,docx,xls,xlsx,pdf,png,jpg,jpeg,mp3,mp4"
@callback="callback"
@upload="uploadFn">
</ziqirj-file-upload>
</view>
</template>
<script>
export default {
data() {
return {
headers: {},
form: {
allList: [],
mediaList: [],
notAutoList: []
}
}
},
methods: {
callback(res) {
console.log("callback", res)
// 设置文件列表值到表单属性
this.form[res.param] = res.affixList
},
uploadFn(res) {
console.log("uploadFn", res)
}
}
}
</script>
<style>
</style>
依赖组件
如使用过程中有任何问题,或者您对组件有一些好的建议,欢迎留言