w***@163.com
w***@163.com
  • 发布:2026-02-03 11:16
  • 更新:2026-02-03 11:17
  • 阅读:21

【报Bug】iQOO5(OriginOS 6/Android 16)uni.uploadFile 上传失败(uploadFile: fail)

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 22H2

HBuilderX类型: 正式

HBuilderX版本号: 4.75

手机系统: Android

手机系统版本号: Android 16

手机厂商: vivo

手机机型: IQOO5

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

// 文件选择
uni.chooseImage({
count: 1,
sourceType: ['album', 'camera'],
success: (res) => {
const filePath = res.tempFilePaths[0]
console.log('选择文件路径:', filePath)
uploadFile(filePath)
}
})

// 上传逻辑
const uploadFile = (filePath) => {
uni.uploadFile({
url: '你的上传接口地址',
filePath: filePath,
name: 'file',
header: {
// 自定义请求头(如有)
},
success: (res) => {
console.log('上传成功:', res)
},
fail: (err) => {
console.error('上传失败:', err) // 输出:{
// uploadFile:fail,
// statusCode: null
// }
}
})
}

操作步骤:

调用 uni.chooseImage 选择相册图片 / 调用相机拍摄,获取 filePath 路径
直接使用该 filePath 传入 uni.uploadFile,配置 url、name 等必填参数
执行上传,触发 fail 回调,返回 uploadFile:fail 错误
尝试路径转换、权限补全后,问题仍稳定复现

预期结果:

预期跟其他版本一样成功

实际结果:

实际结果报错

bug描述:

在 iQOO 5 搭载 OriginOS 6 系统上,调用 uni.chooseImage/uni.chooseFile 获取文件路径后,执行 uni.uploadFile 直接触发 fail 回调,错误信息固定为:uploadFile:fail file not found。
相同代码在以下环境运行正常:
其他品牌 Android 13/14/15 机型(小米、华为、OPPO 等)
vivo/iQOO 旧系统(OriginOS 5 及以下)机型

2026-02-03 11:16 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

您好,感谢您的详细反馈。
根据目前信息,我们初步判断该问题是 OriginOS 6(Android 16)对临时文件路径访问策略收紧 导致的兼容性问题,并非代码或权限配置错误。为便于官方快速复现并修复,请您按下面两步补充信息:

  1. 补充关键信息
    • 在 Ask 社区 新建一条提问,标题可写「iQOO5 OriginOS 6 uni.uploadFile file not found 复现 demo」。
    • 帖子正文请贴出最小可复现 demo(仅包含 chooseImage + uploadFile 的完整代码即可)。
    • 同时注明:

    • 使用的是 标准基座 / 自定义基座 / 正式包(三选一);
    • 打印的 tempFilePath 值(例如 file:// 或 content:// 开头)。
  2. 临时绕过方案(任选其一)
    • 先调用 uni.saveFile 将 chooseImage 返回的临时文件保存为持久路径,再上传保存后的路径;
    • 改用 uni-ui 的 uni-file-picker 组件,内部已做路径兼容处理,多数情况下可规避该问题。

官方收到 demo 后会立即安排专项测试,并在后续版本修复。如有进一步进展,我们会在 Ask 社区同步更新。

内容为 AI 生成,仅供参考

要回复问题请先登录注册