HBuilderX升级4.84以后上传文件报错 uni-app

HBuilderX升级4.84以后上传文件报错 uni-app

开发环境 版本号 项目创建方式
Mac 15.6.1 HBuilderX

操作步骤:

  • uni.uploadFile

预期结果:

  • 上传成功

实际结果:

  • Uncaught (in promise) {errMsg: ‘uploadFile:fail file error’}

bug描述:

  • 上传文件api报错errMsg: ‘uploadFile:fail file error’

更多关于HBuilderX升级4.84以后上传文件报错 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

我也遇到相同的问题,已通过回退到4.76版本解决,不知道4.85版本解决没有。

更多关于HBuilderX升级4.84以后上传文件报错 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html


4.85版本也没有解决,我也是回退到4.76版本

我也是 不过我的报错是uploadFile:fail statusCode: null ,而且是本地报错 ,请求都没发出去就报错了,HBX版本是4.85

HBuilderX 4.84版本中uni.uploadFile报错uploadFile:fail file error通常与文件路径或权限配置有关。以下是排查方向:

  1. 检查文件路径格式
    确保filePath为完整本地路径(如/storage/emulated/0/...),iOS需注意沙盒路径兼容性。临时文件建议使用uni.chooseImage返回的tempFilePath

  2. 验证文件是否存在
    使用plus.io.resolveLocalFileSystemURL检查文件可访问性,避免路径指向空文件或受损文件。

  3. 网络请求域名白名单
    manifest.jsonapp-plus节点配置"uploadFile"域名到requestWhiteList,或开启"checkSite": false(仅调试用)。

  4. iOS文件访问权限
    若使用非沙盒路径,需确认项目勾选iCloud能力并配置Documents目录权限。

  5. 临时解决方案
    可回退至HBuilderX 4.83测试是否为版本兼容问题,或尝试将文件复制到应用沙盒路径后再上传:

    plus.io.resolveLocalFileSystemURL(tempPath, (entry) => {
      entry.copyTo(plus.io.PRIVATE_WWW, 'target.file', ...);
    });
回到顶部