更新记录
0.1.0(2026-08-23)
- 初始化发布
- 支持 Android content:// URI 解析、文件复制到缓存目录和上传准备
- 提供 chooseFiles / normalizeFile / prepareUpload
平台兼容性
simple-file-bridge Android 文件上传桥接器
一个面向 uni-app App 的轻量桥接插件,重点解决 Android content:// 文件 URI 在预览、读取和上传时的兼容问题。
插件名称包含常用搜索词:文件选择、文件选择器、Android 文件选择、文件上传、content URI、uni.uploadFile、文件路径转换。
作者:Sanyi
联系方式:hiiwayne@163.com
解决什么问题
- 调起 Android 系统文件选择器,不申请存储权限。
- 支持单选、多选、MIME 类型过滤。
- 统一返回文件名、大小、MIME、扩展名、URI 和可上传路径。
- 自动处理
content://、file://和普通绝对路径。 - 可将不可直接上传的 URI 复制到 App 缓存目录,返回稳定的
file://路径。 - 支持持久化 URI 读取权限,适合稍后上传或打开文件。
平台
| 平台 | 支持 |
|---|---|
| Android App | 支持 |
| iOS App | 计划支持 |
| uni-app x Android | 兼容 UTS API 结构,建议使用 HBuilderX 4.41+ 验证 |
| H5 / 小程序 | 不提供原生实现 |
快速使用
import { chooseFiles, prepareUpload } from '@/uni_modules/simple-file-bridge'
chooseFiles({
multiple: true,
count: 9,
mimeTypes: ['application/pdf', 'image/*'],
success: (res) => {
console.log(res.files)
},
fail: (err) => {
console.error(err)
}
})
// 对选中的 content:// 文件做上传准备
prepareUpload({
file: res.files[0],
success: (res) => {
uni.uploadFile({
url: 'https://example.com/upload',
filePath: res.path,
name: 'file'
})
}
})
API
chooseFiles(options)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
multiple |
boolean |
false |
是否允许多选 |
count |
number |
1 |
最大选择数量,单选时自动按 1 处理 |
mimeTypes |
string[] |
['*/*'] |
MIME 类型过滤 |
persist |
boolean |
true |
是否申请持久化 URI 读取权限 |
copyToApp |
boolean |
false |
是否立即复制到 App 缓存目录 |
success |
function |
- | 成功回调 |
fail |
function |
- | 失败回调 |
complete |
function |
- | 完成回调 |
normalizeFile(options)
把已有的 content://、file:// 或绝对路径解析成统一文件信息。
normalizeFile({
uri: 'content://media/external/file/123',
success: ({ file }) => console.log(file)
})
prepareUpload(options)
确保文件可以交给 uni.uploadFile。对于无法直接映射成普通路径的 URI,会复制到 App 缓存目录。
prepareUpload({
file,
success: ({ path, file }) => {}
})
返回值
{
name: '合同.pdf',
uri: 'content://...',
path: 'file:///data/user/0/...',
mime: 'application/pdf',
extension: 'pdf',
size: 238122,
lastModified: 0,
persisted: true,
copied: false
}
错误码
| 错误码 | 含义 |
|---|---|
9010001 |
当前平台不支持 |
9010002 |
当前已有文件选择任务 |
9010003 |
用户取消选择 |
9010004 |
文件 URI 无效 |
9010005 |
无法读取文件信息 |
9010006 |
文件复制失败 |
隐私与权限
插件只在用户主动点击选择文件后访问用户选择的 URI,不扫描设备文件,不上传数据,不包含广告。Android 使用系统 Storage Access Framework,不主动申请读写外部存储权限。
目录
uni_modules/simple-file-bridge/ 插件源码
pages/index/ Demo 页面

收藏人数:
https://github.com/zwmmm/uni-file-bridge
购买普通授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 64
赞赏 0
下载 12526476
赞赏 1944
赞赏
京公网安备:11010802035340号