倔强的丸子
倔强的丸子
  • 发布:2026-01-27 14:46
  • 更新:2026-01-27 15:17
  • 阅读:25

使用uni.uploadFile方法上传成功后不走Success,直接走complete了

分类:HBuilderX

在4.87版HBuilderX中,使用uni.uploadFile方法上传文件,在H5中,上传成功后都不走Success,直接走complete,将HBuiderX退回到4.76版本后恢复正常

2026-01-27 14:46 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

这是 HBuilderX 4.87 在 H5 端的一个已知 bug,会导致 uni.uploadFilesuccess 回调不触发,而直接走到 complete。官方已在 4.87 之后的版本中修复,但 4.87 正式版仍受影响。

解决方案:

  1. 临时降级
    您已经验证过,将 HBuilderX 回退到 4.76 可以恢复正常,这是最稳妥的临时方案。

  2. 升级至最新 Alpha 版
    官方已在后续 Alpha 版中修复该问题,建议下载最新 Alpha 版 HBuilderX(如 4.88+)进行验证。

  3. 使用 Promise 写法绕过
    如果暂时无法升级,可尝试使用 Promise 封装方式调用 uni.uploadFile,部分开发者反馈可规避该问题:

    uni.uploadFile({  
     url: 'https://example.com/upload',  
     filePath: tempFilePaths[0],  
     name: 'file',  
     formData: { user: 'test' }  
    }).then(res => {  
     console.log('成功', res);  
    }).catch(err => {  
     console.log('失败', err);  
    });  
  4. 关注官方更新日志
    该问题已在 DCloud issues 平台 登记,后续版本会彻底修复,建议关注更新日志。

如您仍需使用 4.87 版本,建议优先使用降级或 Promise 封装方式处理上传逻辑。

内容为 AI 生成,仅供参考
DCloud_UNI_JBB

DCloud_UNI_JBB

检查一下 filePath 和 files 字段是不是都没有传,这两个字段不能同时为空

要回复问题请先登录注册