8***@qq.com
8***@qq.com
  • 发布:2025-07-28 22:10
  • 更新:2025-07-29 09:50
  • 阅读:93

【报Bug】uni.uploadFile 返回值uploadTask. onProgressUpdate一直是undefined

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 4.75

手机系统: iOS

手机系统版本号: iOS 14

手机厂商: 苹果

手机机型: iphonexr

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

uni.chooseImage({
success: (chooseImageRes) => {
const tempFilePaths = chooseImageRes.tempFilePaths;
const uploadTask = uni.uploadFile({
url: 'https://www.example.com/upload', //仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: 'file',
formData: {
'user': 'test'
},
success: (uploadFileRes) => {
console.log(uploadFileRes.data);
}
});

    uploadTask.onProgressUpdate((res) => {  
        console.log('上传进度' + res.progress);  
        console.log('已经上传的数据长度' + res.totalBytesSent);  
        console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend);  

        // 测试条件,取消上传任务。  
        if (res.progress > 50) {  
            uploadTask.abort();  
        }  
    });  
}  

});

操作步骤:

uni.chooseImage({
success: (chooseImageRes) => {
const tempFilePaths = chooseImageRes.tempFilePaths;
const uploadTask = uni.uploadFile({
url: 'https://www.example.com/upload', //仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: 'file',
formData: {
'user': 'test'
},
success: (uploadFileRes) => {
console.log(uploadFileRes.data);
}
});

    uploadTask.onProgressUpdate((res) => {  
        console.log('上传进度' + res.progress);  
        console.log('已经上传的数据长度' + res.totalBytesSent);  
        console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend);  

        // 测试条件,取消上传任务。  
        if (res.progress > 50) {  
            uploadTask.abort();  
        }  
    });  
}  

});

预期结果:

正常显示进度

实际结果:

没有显示进度

bug描述:

uni.chooseImage({
success: (chooseImageRes) => {
const tempFilePaths = chooseImageRes.tempFilePaths;
const uploadTask = uni.uploadFile({
url: 'https://www.example.com/upload', //仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: 'file',
formData: {
'user': 'test'
},
success: (uploadFileRes) => {
console.log(uploadFileRes.data);
}
});

    uploadTask.onProgressUpdate((res) => {  
        console.log('上传进度' + res.progress);  
        console.log('已经上传的数据长度' + res.totalBytesSent);  
        console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend);  

        // 测试条件,取消上传任务。  
        if (res.progress > 50) {  
            uploadTask.abort();  
        }  
    });  
}  

});

2025-07-28 22:10 负责人:无 分享
已邀请:
DCloud_UNI_yuhe

DCloud_UNI_yuhe

你success或者fail回调中有输出吗?

  • 8***@qq.com (作者)

    有的

    2025-07-30 20:46

  • 8***@qq.com (作者)

    用官网的例子,把URL换成我自己的,onprogress也是不执行

    2025-07-30 20:46

  • DCloud_UNI_yuhe

    回复 8***@qq.com: 你提供一下一个问题项目我看一下

    2025-07-31 09:50

要回复问题请先登录注册