uni-app 打包的安卓app使用uni.uploadFile有时候成功有时候失败并报错uploadFile:fail undefined

uni-app 打包的安卓app使用uni.uploadFile有时候成功有时候失败并报错uploadFile:fail undefined

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Windows

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

HBuilderX类型:正式

HBuilderX版本号:4.36

手机系统:Android

手机系统版本号:Android 15

手机厂商:vivo

手机机型:iqoo neo9spro+

页面类型:vue

vue版本:vue2

打包方式:云端

示例代码:

uni.uploadFile({
header: {
'token': api.__CFG.TOKEN || '',
'content-type': 'multipart/form-data'
},
url: this.Setting.url,
filePath: data.fullPath,
name: 'file',
formData: formData,
success: res2 => {
console.log('888',res2)
// fs.unlinkSync(tempPath)
if (res2.statusCode === 200) {
const r_data = JSON.parse(res2.data)
if (r_data.error == 0) {
this.currentChunk++
if (this.currentChunk < this.chunks) {
this.loadNext()
} else {
r_data.md5value = datas.md5value
console.log('formData',datas)
this.callback(r_data)
}
} else {
this.callback(false)
}
} else {
this.callback(false)
}
},
fail: err => {
console.log('999',err)
this.callback(false)
}
})

操作步骤:

按我上述操作

预期结果:

能正常返回走进success而不是走到fail去

实际结果:

大概率会走到fail去,但有时候又进success正常请求

bug描述:

目前只测试到安卓app中使用uni.uploadFile大部分会走fail 然后打印出来是uploadFile:fail undefined,但是有时候又可以正常上传,不知道怎么回事


更多关于uni-app 打包的安卓app使用uni.uploadFile有时候成功有时候失败并报错uploadFile:fail undefined的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

请提供简化的复现此问题的示例项目,包括要上传的文件。

更多关于uni-app 打包的安卓app使用uni.uploadFile有时候成功有时候失败并报错uploadFile:fail undefined的实战教程也可以访问 https://www.itying.com/category-93-b0.html


估计应该是文件大了,文件也就5m,目前做切片处理了,但是app里切片没看见5+app里面有切文件成字节流上传的,现在是转base64然后切上传的,希望可以改进下

这个问题通常与网络环境或服务器配置有关。以下是可能的原因和解决方案:

  1. 网络问题:
  • 检查手机网络是否稳定,建议切换WiFi/4G测试
  • 上传大文件时可能出现超时,可尝试分片上传
  1. 服务器配置:
  • 检查服务器是否支持大文件上传
  • 确认服务器upload_max_filesize和post_max_size配置足够大
  1. 代码优化建议:
  • 添加超时配置:
uni.uploadFile({
    timeout: 10000, // 10秒超时
    // 其他配置...
})
  1. 错误处理增强:
fail: err => {
    console.error('上传失败:', err);
    if(err.errMsg === 'uploadFile:fail undefined') {
        // 可能是网络问题
    }
    this.callback(false)
}
回到顶部