huangguoce 1b2bb8f7e3 文件上传组件封装 10 ماه پیش
..
components 1b2bb8f7e3 文件上传组件封装 10 ماه پیش
tools 1b2bb8f7e3 文件上传组件封装 10 ماه پیش
changelog.md 1b2bb8f7e3 文件上传组件封装 10 ماه پیش
package.json 1b2bb8f7e3 文件上传组件封装 10 ماه پیش
readme.md 1b2bb8f7e3 文件上传组件封装 10 ماه پیش

readme.md

xe-upload

说明

不占用页面位置的上传组件;

H5、APP、微信小程序中可上传图片,视频和文件;其他端暂时只能上传图片和视频

上传图片通过chooseMediachooseImage实现

上传视频通过chooseMediachooseVideo实现

H5端上传文件通过chooseFile实现

APP上传文件通过renderjs实现

微信小程序上传文件通过chooseMessageFile实现

使用

Attributes

参数 说明 类型 默认值
options 请求配置(参数与uni.uploadFile的参数一致) object { name: 'file' }

Events

| 事件名 | 说明 | 参数 | | ----------- | ----------- | ----------- | | callback | 接收数据 | { type, data } |

callback type

参数 说明
warning 提示信息(下文称warning回调)
success 上传成功(下文称success回调)
choose 选择文件(下文称choose回调)

callback data

'callback.type === success' : [
    {
        "size": 176579, // 选择的文件的大小
        "name": "Kafka.pdf", // 选择的文件的名称(小程序端可能会没有)
        "type": "application/pdf",
        "tempFilePath": "blob:http://192.168.137.1:8080/2585769b-3195-4f3d-b9f8-d9e99f55deec", // 临时路路径
        "fileType": "file", // 文件类型[image, video, file]
        "response": {
            "result": {
                "fileName": "Kafka.pdf",
                "filePath": `http://localhost:3000/upload/e51d814b649122fc64892d0bc6383d07.pdf`,
            },
            "success": true,
        }, // 上传返回的信息
    }
]

'callback.type === choose' : [
    {
        "size": 176579, // 选择的文件的大小
        "name": "Kafka.pdf", // 选择的文件的名称(小程序端可能会没有)
        "type": "application/pdf",
        "tempFilePath": "blob:http://192.168.137.1:8080/4204e460-f185-4fc9-9f4d-1bc50ab06981", // 文件临时路径
        "fileType": "file", // 文件类型[image, video, file]
    }
]

注意事项

1、options入参中如果url为空,则choose回调的data列表中只有选择文件能得到的信息和临时路径,临时路径可用于自定义上传方法(APP除外);传入url选择文件后会自动上传到服务器,此时choose回调不会触发,而是执行success回调,success回调的data列表会包括选择文件能得到的信息

2、APP端文件建议直接上传到服务器,拿到文件上传后的地址再进行其他操作(目前测试APP端file转换后的Blob Url无法用于uni.uploadFile,所以建议APP文件直接上传)

3、APP端文件暂时支持单个上传

4、当uni.chooseMedia可用时,会优先使用uni.chooseMedia

5、具体使用可下载示例项目运行查看完整示例