uni-app uploadFile新版本报错 uploadFile:fail statusCode: null
uni-app uploadFile新版本报错 uploadFile:fail statusCode: null
测试过的手机:
harmonyOS 4.2.0
示例代码:
const customUpload = (file: UploadFile, formData, options) => {
const uploadTask = uni.uploadFile({
url: action,
header: {
'Authorization': userStore.token || ''
},
name: options.name,
fileName: options.name,
fileType: options.fileType,
formData,
filePath: file.url,
success(res) {
if (res.statusCode === 200) {
// 设置上传成功
options.onSuccess(res, file, formData)
} else {
// 设置上传失败
options.onError({ ...res, errMsg: res.errMsg || '' }, file, formData)
}
},
fail(err) {
// 设置上传失败
options.onError(err, file, formData)
}
})
// 设置当前文件加载的百分比
uploadTask.onProgressUpdate((res) => {
options.onProgress(res, file)
})
}
操作步骤:
- 选择图片上传
预期结果:
- 可以上传
实际结果:
- 都没有发送请求就报错

bug描述:
上传图片 手机端选择任意图片后 直接进入fail回调(并没有发送请求到服务器),报错内容是uploadFile:fail statusCode: null
更多关于uni-app uploadFile新版本报错 uploadFile:fail statusCode: null的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app uploadFile新版本报错 uploadFile:fail statusCode: null的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个问题通常是由于文件路径格式不正确或权限问题导致的。在HarmonyOS 4.2.0系统中,uni.uploadFile对文件路径的格式要求比较严格。
解决方案:
-
检查文件路径格式
- 确保
file.url是有效的本地文件路径 - 建议在调用uploadFile前添加路径验证:
console.log('文件路径:', file.url); if (!file.url || file.url.startsWith('http')) { options.onError({errMsg: '无效的文件路径'}, file, formData); return; } - 确保
-
添加完整的错误处理
- 在fail回调中输出详细错误信息:
fail(err) { console.error('上传失败详情:', JSON.stringify(err)); options.onError(err, file, formData); } -
检查文件权限
- 确保应用有访问相册和文件的权限
- 在manifest.json中确认已配置必要的权限
-
临时解决方案
- 可以尝试使用
uni.chooseImage重新获取文件路径:
uni.chooseImage({ success: (chooseResult) => { file.url = chooseResult.tempFilePaths[0]; // 重新执行上传 } }); - 可以尝试使用

