更新记录

1.0.9(2025-05-19) 下载此版本

更新文档和示例项目

1.0.8(2025-05-19) 下载此版本

上传示例项目

1.0.7(2025-05-19) 下载此版本

上传示例项目

查看更多

平台兼容性

uni-app

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - -

其他

多语言 暗黑模式 宽屏模式
× ×

cjx-upload

说明

因为在uniapp生态上找不到同时适合H5端,微信小程序以及安卓,ios上传任意文件的插件,所以开发了兼容多端的上传插件。该插件是不占用页面位置的上传组件;

可以配合cjx-previewOffice插件 进行文件的本地预览

使用

Attributes

参数 说明 类型 默认值 最低版本
v-model 双向绑定值 { name: string, file: File }[] [] -
multiple 是否支持多选文件 boolean false 1.0.4
accept 接受的文件类型(限制只能选择图片和pdf格式的文件 accept="image/*,.pdf") 具体请参考input string - 1.0.4
limit 最大允许上传个数 number 9 1.0.4

Events

事件名 说明 参数 最低版本
change 选择文件后触发 data: UploadUserFile[] -
remove 删除文件时触发 event = { file } file: 移除的文件信息 1.0.4
passMaximumChange 选择文件大于limit时触发 - 1.0.4

UploadUserFile

参数 说明
name 文件名称
file File对象
size 选择的文件的大小
type -
tempFilePath 文件临时路径 (app端上传需要 h5端为空) 注意app端文件名字随机生成的,如果需要保存的文件名字一致,可以让后端给上传接口多给个参数把文件名称一起传过去
fileType 文件类型
base64Url 文件base64数据 (app端用来配合cjx-previewOffice插件 实现文件本地预览)
url 预览路径可以用来在本地预览文件(h5用来配合cjx-previewOffice插件 实现文件本地预览)

change data


'data' : [
    {
        "size": 176579, // 选择的文件的大小
        "name": "Kafka.pdf", // 选择的文件的名称(小程序端可能会没有)
        "type": "application/pdf",
        "file": File对象{} // h5端上传用的
        "tempFilePath": "blob:http://192.168.137.1:8080/4204e460-f185-4fc9-9f4d-1bc50ab06981", //  文件临时路径 (app端上传需要 h5端为空)
        "fileType": "file", // 文件类型[image, video, file]
        "base64Url": "data:application/octet-stream-xxxxxxxxxxxxxxxxx-base64", // base64数据
        "url": "blob:http://localhost:5173/d0a4262b-71b6-4709-bad6-5b4776dee37e" // 预览路径可以用来在本地预览文件
    }
]

vue:

<view class="content">

    // 普通用法
    <cjx-upload v-model="value" @change="uploadChange" />

    // 默认插槽
    <cjx-upload v-model="defaultValue" @change="uploadChange">
        <template #default>
            <view class="default_btn">上传</view>
        </template>
    </cjx-upload>

    // file插槽
    <cjx-upload v-model="fileValue" @change="uploadChange">
        <template #file="{ file }">
            {{ file }}
        </template>
    </cjx-upload>

</view>

温馨提示

  • 文件上传
    1. 如说明表达还不够清楚,不清楚怎么使用可导入完整示例项目运行体验和查看
    2. 如果想使该组件支持表单验证的请留言并备注对应ui库的form组件(需要的人多了,会在后续版本支持)
    3. 如果想使组件支持更多功能请留言
    4. 欢迎加入QQ讨论群:

      插件交流群:186582262

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

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