更新记录
1.0.1(2026-05-17)
优化性能
1.0.0(2026-05-17)
- 首发:Android / iOS / HarmonyOS 文件选择 UTS 插件
- Android:自定义选取界面(靛紫渐变顶栏 + 胶囊分组),支持目录浏览、扩展名分类、类型分组
- Android 11/12:MediaStore + 目录扫描,适配 Scoped Storage
- 单选/多选、数量限制、搜索、排序、已选清单、图片预览
- 可配置 extensions、groups、strings(国际化)、theme、sortType
- iOS / 鸿蒙:系统文档选择器,统一回调结构
平台兼容性
uni-app(3.7.7)
| Vue2 | Vue2插件版本 | Vue3 | Vue3插件版本 | Chrome | Safari | app-vue | app-vue插件版本 | app-nvue | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | 1.0.0 | √ | 1.0.0 | × | × | √ | 1.0.0 | - | 5.0 | 1.0.0 | 12 | 1.0.0 | √ |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.0)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | 5.0 | 12 | √ | - |
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| √ | × | × |
ly028-filepicker
uni-app / uni-app x UTS 原生文件选择插件:目录层级浏览、扩展名分类、类型分组;单选/多选、搜索、排序、已选清单、图片预览;支持 Android 11/12/13+、iOS、HarmonyOS。
提供原生文件选择能力,支持主题、文案、分组与排序等常用配置,便于接入与国际化。
平台支持
| 工程类型 | Android | iOS | HarmonyOS |
|---|---|---|---|
| uni-app App | ✅ | ✅ | ✅ |
| uni-app x App | ✅ | ✅ | ✅ |
| 能力 | Android | iOS | HarmonyOS |
|---|---|---|---|
| 自定义文件选取页 | ✅ | —(系统文档选择器) | —(系统文档选择器) |
| 目录层级浏览 | ✅ | — | — |
| 类型分组 Tab | ✅ | — | — |
| 单选/多选/数量限制 | ✅ | ✅ | ✅ |
| 扩展名过滤 | ✅ | ✅ | ✅ |
| 搜索/排序/已选清单 | ✅(Android 页内) | 系统提供 | 系统提供 |
| 图片点击预览 | ✅ | — | — |
| 文案/主题自定义 | ✅ | 部分 | 部分 |
- 环境:uni-app 建议 HBuilderX 3.7.2+;uni-app x 建议 HBuilderX 4.0+(鸿蒙建议 4.31+)
- 调试:原生 UTS 插件必须进入 自定义调试基座 或 正式云打包包体 才能运行;普通标准基座不包含本插件原生代码
- 定价:插件市场 10 元;源码授权 50 元
快速开始
1. 安装
在 DCloud 插件市场 搜索 ly028-filepicker,导入到项目 uni_modules 后:
- 在插件详情页 试用/购买 并绑定当前 AppID 工程
manifest.json配置 AppID- 制作自定义调试基座 → 运行到自定义基座(真机)
2. uni-app 调用(Vue2/Vue3)
import LyFilePicker from '@/uni_modules/ly028-filepicker/js_sdk/index.js'
// 类型分组多选(默认,效果接近「文件分类」场景)
const ret = await LyFilePicker.pickFiles({
browseMode: LyFilePicker.BROWSE_GROUP,
maxCount: 10,
extensions: 'png,jpg,pdf,docx,zip',
sortType: 3
})
if (ret.ok && ret.data) {
console.log('已选', ret.data)
}
3. uni-app x / UTS 直接调用
import { pickFiles } from '@/uni_modules/ly028-filepicker'
pickFiles({
browseMode: 2,
maxCount: 9,
extensions: 'png,jpg,jpeg,pdf,docx,zip'
}, (ret) => {
if (ret.ok) {
console.log(ret.data)
}
})
4. 浏览模式 browseMode
| 值 | 常量 | 说明 |
|---|---|---|
| 0 | BROWSE_DIRECTORY |
按文件夹层级进入(内部存储 / Download / Documents 等) |
| 1 | BROWSE_CLASSIFY |
按 extensions 扫描媒体与常见目录下的文件 |
| 2 | BROWSE_GROUP |
顶部分组胶囊(图片/视频/音频/文档…),可 groups 自定义 |
API
pickFiles(options) → Promise<LyPickResult>
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| browseMode | Number | 2 |
0 目录 / 1 分类 / 2 分组 |
| maxCount | Number | 9 |
最大可选数;1 为单选 |
| extensions | String | Array | 见 DEFAULT_OPTIONS |
允许扩展名 |
| groups | Array | 内置 6 组 | { name, fileTypes[] },browseMode=2 时有效 |
| strings | Object | 中文默认 | 界面文案,可做 i18n |
| theme | Object | 靛紫主题 | primaryColor、headerGradientStart 等 |
| sortType | Number | 0 |
0~7,见下表 |
sortType
| 值 | 含义 |
|---|---|
| 0 | 名称升序 |
| 1 | 名称降序 |
| 2 | 时间升序 |
| 3 | 时间降序 |
| 4 | 大小升序 |
| 5 | 大小降序 |
| 6 | 类型升序 |
| 7 | 类型降序 |
返回 data[] 单项
| 字段 | 类型 | 说明 |
|---|---|---|
| name | String | 文件名 |
| path | String | 路径 |
| absolutePath | String | 绝对路径(上传常用) |
| mimeType | String | MIME 或扩展名 |
| size | Number | 字节 |
| sizeText | String | 如 42.27KB |
| modifiedTime | Number | 修改时间戳(可选) |
| thumbPath | String | 缩略图路径(可选) |
UTS 直接调用
import { pickFiles } from '@/uni_modules/ly028-filepicker'
pickFiles({ browseMode: 0, maxCount: 5 }, (ret) => {
console.log(ret)
})
国际化示例
LyFilePicker.pickFiles({
strings: {
title: 'Select files',
btnConfirm: 'Done',
btnCancel: 'Cancel',
selectedCount: 'Selected %1$s / %2$s',
searchHint: 'Search file name'
}
})
manifest 权限建议
Android(按 targetSdk 自动适配,建议在 manifest 勾选):
READ_EXTERNAL_STORAGE(Android 12 及以下)READ_MEDIA_IMAGES/READ_MEDIA_VIDEO/READ_MEDIA_AUDIO(Android 13+)
iOS:无需额外声明,用户通过系统选择器授权。
HarmonyOS:读取用户所选文件,按 module.json5 申请。
常见问题
Q:没有弹出选择页?
A:是否使用 自定义调试基座;是否在真机 App 环境(非 H5)。
Q:Android 11/12 列表为空?
A:确认已授权存储/媒体权限;部分机型需将文件放在 Download、Documents 或相册目录。
Q:iOS 为何不是同款 UI?
A:苹果沙盒限制,iOS 使用 UIDocumentPicker 系统界面,回调字段与 Android 对齐。

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 914
赞赏 0
下载 11940382
赞赏 1914
赞赏
京公网安备:11010802035340号