更新记录

1.0.1(2025-02-13) 下载此版本

修复fileType为all,未指定suffix值时,点击按钮不弹出选择文件bug

1.0.0(2025-02-06) 下载此版本

  • 通用文件上传组件
  • 集成文件预览组件,实现文件预览

平台兼容性

Vue2 Vue3
×
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>

依赖组件

scss/sass

uni-icons

ziqirj-file-preview

如使用过程中有任何问题,或者您对组件有一些好的建议,欢迎留言

紫琪程序猿

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问