更新记录
1.0.0(2025-12-25)
遇到问题截图报错联系作者
平台兼容性
uni-app(4.57)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| √ |
√ |
- |
- |
√ |
√ |
5.0 |
12 |
√ |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
快应用-华为 |
快应用-联盟 |
| - |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
uni-app x(4.57)
| Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
| - |
- |
5.0 |
12 |
√ |
- |
b-upload
支持 Android, iOS, 鸿蒙三端的文件选择与上传插件。
功能特点
- 三端支持: 完美适配 Android, iOS 和 HarmonyOS (鸿蒙)。
- 全文件类型: 支持 doc, docx, pdf, xls, xlsx, txt 等所有文件类型。
- 上传进度: 支持实时上传进度回调。
- 稳定可靠: 内部封装原生选择器与 uni.uploadFile 核心逻辑。
接口说明
selectFile(options)
选择本地文件。
| 参数名 |
类型 |
说明 |
| type |
String[] |
MIME 类型过滤(主要用于 Android/Harmony) |
| multiple |
Boolean |
是否支持多选 |
| success |
Function |
成功回调,返回文件路径数组 |
| fail |
Function |
失败回调 |
uploadFile(options)
上传文件到服务器。
| 参数名 |
类型 |
说明 |
| url |
String |
服务器上传接口地址 |
| filePath |
String |
要上传文件路径 |
| name |
String |
文件对应的 key (后端接收字段) |
| header |
Object |
请求头 (UTSJSONObject) |
| formData |
Object |
额外表单数据 (UTSJSONObject) |
| success |
Function |
成功回调 |
| fail |
Function |
失败回调 |
| onProgressUpdate |
Function |
进度更新回调 |
使用示例
import { selectFile, uploadFile } from '@/uni_modules/b-upload';
// 1. 选择并上传文件
const startUpload = () => {
selectFile({
multiple: false,
success: (paths) => {
const filePath = paths[0];
console.log('选择成功:', filePath);
// 2. 开始上传
uploadFile({
url: 'https://your-server.com/upload',
filePath: filePath,
name: 'file',
formData: {
'user': 'test_user',
'type': 'doc'
},
Update: (res) => {
console.log('上传进度:', res.progress);
},
success: (res) => {
console.log('上传成功:', res.data);
},
fail: (err) => {
console.error('上传失败:', err);
}
});
}
});
};