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.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通常与文件路径或权限配置有关。以下是排查方向:
-
检查文件路径格式
确保filePath为完整本地路径(如/storage/emulated/0/...),iOS需注意沙盒路径兼容性。临时文件建议使用uni.chooseImage返回的tempFilePath。 -
验证文件是否存在
使用plus.io.resolveLocalFileSystemURL检查文件可访问性,避免路径指向空文件或受损文件。 -
网络请求域名白名单
在manifest.json的app-plus节点配置"uploadFile"域名到requestWhiteList,或开启"checkSite": false(仅调试用)。 -
iOS文件访问权限
若使用非沙盒路径,需确认项目勾选iCloud能力并配置Documents目录权限。 -
临时解决方案
可回退至HBuilderX 4.83测试是否为版本兼容问题,或尝试将文件复制到应用沙盒路径后再上传:plus.io.resolveLocalFileSystemURL(tempPath, (entry) => { entry.copyTo(plus.io.PRIVATE_WWW, 'target.file', ...); });

