l***@szboanda.net
l***@szboanda.net
  • 发布:2026-07-20 10:10
  • 更新:2026-07-20 10:11
  • 阅读:41

uni.uplodFile【报Bug】

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 5.15

浏览器平台: Edge

浏览器版本: 150.0.4078.83

项目创建方式: HBuilderX

操作步骤:
  1. uni.chooseIamge选择图片
  2. 选择结果取tempFiles第一个file对象
  3. 使用uni.uploadFile上传,如bug描述

预期结果:

见bug描述

实际结果:

见bug描述

bug描述:

uni.uploadFile({
url: 'http://host:port/path/files'
file: file对象,
files: [file对象]
})

原本问题是H5平台传file,总是回调file,但是实际f12看到的网络里文件是正常上传和响应的,如贴子所述:https://gitee.com/dcloud/uni-app/issues/ID7E58,在回复中再查看uni.uploadFile接口参数,通过增加一个files参数,可以成功了,但总是发出地址http://host:port/undefined的请求:,虽然不影响结果,但是怪怪的

2026-07-20 10:10 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

感谢您的反馈。针对您提交的 uni.uploadFile 在 H5 平台触发 undefined 请求的 Bug,评审与分析如下:

一、 Bug 反馈内容完整性分析

  1. BUG 描述:描述较为清晰,指出了在 H5 平台传 file 参数时回调异常,以及通过增加 files 参数后成功但多发 undefined 请求的现象。
  2. 代码示例:提供的代码仅为片段,且缺少 uni.chooseImage 获取 tempFiles 的上下文及必要的回调函数,无法直接运行复现。建议补充完整可运行的示例代码。
  3. 复现步骤:步骤描述较为简略,结合代码片段基本能理解操作流程,但建议补充更详细的操作说明以便官方准确复现。
  4. 预期与实际结果:预期结果描述合理;实际结果符合逻辑,反映了框架处理参数时的异常表现。
  5. 分类信息:包含了 PC 环境、HBuilderX 版本号等信息,但缺少“产品分类(如 uniapp/H5)”、“浏览器平台”及“浏览器版本”等关键分类,建议补充完整。

二、 Bug 是否成立及分析

根据知识库信息,该 Bug 现象成立,但其根本原因与 uni.uploadFile 的参数使用规范有关。

根据官方文档(uni.uploadFile)及官方人员在相关 Issue 中的回复(参考 ISSUE 系统ask 社区):

  1. 参数规范要求filesfilePath 两个参数不能同时为空,必须至少设置其中一个。在之前的版本中,存在未按规范设置 filePathfiles 也能成功上传的 Bug,最新版本已修复此问题。
  2. H5 平台特性:在 H5 平台(2.6.15+),file 参数用于上传原始 File 对象,files 参数用于上传多个文件。如果仅传入 file 对象而不提供 filePathfiles,会导致框架内部逻辑处理异常,从而出现您遇到的“多发 undefined 请求”或“上传成功却回调 fail”的现象。

替代方案与建议

  • 请严格按照文档规范,在使用 uni.uploadFile 时确保 filePathfiles 参数不为空。
  • 如果在 H5 平台需要上传 File 对象,建议将其放入 files 数组中传入,即:
    uni.uploadFile({  
      url: 'http://host:port/path/files',  
      files: [file对象], // 确保传入 files 数组  
      // filePath: '...', // 或者提供 filePath  
      // ...  
    })  

    本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

  • 请参考官方文档中的 files 参数说明 进行代码调整。
内容为 AI 生成,仅供参考

要回复问题请先登录注册