# lime-choose-file 文件选择组件 一个基于UTS实现的文件选择插件,参考小程序chooseFile API实现,用法保持一致。支持安卓、iOS、鸿蒙和H5平台。提供了选择图片、视频和其他文件类型的功能。组件提供了简单易用的API,使开发者能够方便地在应用中集成文件选择功能。 ## 文档链接 📚 组件详细文档请访问以下站点: - [文件选择组件文档 - 站点1](https://limex.qcoon.cn/native/choose-file.html) - [文件选择组件文档 - 站点2](https://limeui.netlify.app/native/choose-file.html) - [文件选择组件文档 - 站点3](https://limeui.familyzone.top/native/choose-file.html) ## 安装方法 1. 在uni-app插件市场中搜索并导入`lime-choose-file` 2. 导入后在页面引入相关方法 3. 需要自定义基座才能使用 4. 试用符合需求后才购买,插件无法退款 ## 代码演示 ### UNIAPPX 使用方式 ```ts import { chooseFile, type ChooseFileOption } from '@/uni_modules/lime-choose-file' const images = ref([]) const onClick = () => { chooseFile({ filename: 'xxxx', // 可选 用于给文件重命名(安卓、iOS) type: 'image', success(res){ images.value = res.tempFiles.map((item):string => item.path) console.log('选择结果:', res.tempFiles) }, fail(err){ console.log('选择失败:', err) } } as ChooseFileOption) } ``` ### UNIAPP 使用方式 ```ts import { chooseFile } from '@/uni_modules/lime-choose-file' const images = ref([]) const onClick = () => { chooseFile({ filename: 'xxxx', // 可选 用于给文件重命名(安卓、iOS) type: 'image', success(res){ images.value = res.tempFiles.map((item):string => item.path) console.log('选择结果:', res.tempFiles) }, fail(err){ console.log('选择失败:', err) } }) } ``` ## API文档 ### chooseFile 方法 | 参数 | 说明 | 类型 | 必填 | | --- | --- | --- | --- | | options | 文件选择选项 | _ChooseFileOption_ | 是 | ### ChooseFileOption 选项 | 参数 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | filename | _string_ | 否 | 指定文件名,用于给文件重命名(安卓、iOS) | | count | _number_ | 否 | 最多可以选择的文件数量,默认为100 | | type | _string_ | 否 | 所选文件类型,默认为'all' | | extension | _string[]_ | 否 | 根据文件拓展名过滤,每一项都不能是空字符串。默认不过滤。仅H5支持 | | success | _(result: ChooseFileSuccessCallbackResult) => void_ | 否 | 接口调用成功的回调函数 | | fail | _(res: GeneralCallbackResult) => void_ | 否 | 接口调用失败的回调函数 | | complete | _(res: GeneralCallbackResult) => void_ | 否 | 接口调用结束的回调函数 | ### ChooseFileSuccessCallbackResult 返回参数 | 参数 | 类型 | 说明 | | --- | --- | --- | | tempFiles | _ChooseFile[]_ | 返回选择的文件的本地临时文件对象数组 | | errMsg | _string_ | 错误信息 | ### ChooseFile 对象结构 | 参数 | 类型 | 说明 | | --- | --- | --- | | name | _string_ | 选择的文件名称 | | path | _string_ | 本地临时文件路径 (本地路径) | | size | _number_ | 本地临时文件大小,单位 B | | time | _number_ | 选择的文件的会话发送时间,Unix时间戳 | | type | _'video' \| 'image' \| 'file' \| 'all'_ | 选择的文件类型 | ### 文件类型说明 | 类型值 | 说明 | | --- | --- | | video | 视频文件 | | image | 图片文件 | | file | 除图片和视频外的其他文件 | | all | 所有类型文件 | ## 功能特点 - 支持多种文件类型的选择,包括图片、视频和其他文件 - 支持文件重命名功能 - 兼容安卓、iOS、鸿蒙和H5平台 - 提供简单易用的API接口 - 支持指定最大选择数量 - 支持文件扩展名过滤(H5平台) ## 常见问题 - iOS路径是中文时无法上传到服务器,这时候需要设置`filename`给文件重命名 - APP端需要自定义基座才能使用 - 文件选择后会返回临时文件路径,需要及时使用或保存 - H5端可以通过extension参数过滤文件类型 ## 支持与赞赏 如果你觉得本插件解决了你的问题,可以考虑支持作者: | 支付宝赞助 | 微信赞助 | |------------|------------| | ![](https://testingcf.jsdelivr.net/gh/liangei/image@1.9/alipay.png) | ![](https://testingcf.jsdelivr.net/gh/liangei/image@1.9/wpay.png) |