h***@foxmail.com
h***@foxmail.com
  • 发布:2022-09-13 16:06
  • 更新:2022-09-13 16:45
  • 阅读:393

【报Bug】downloadTask.onProgressUpdate不执行

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.5.3

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: 华为 mate30pro

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

App下载地址或H5⽹址: http://dodaan.onegou.cn:1889/download/mokalr1.0.7.apk

示例代码:

const downloadTask = uni.downloadFile({
url: this.upgradeInfo.downloadUrl,
success: (res) => {
if (res.statusCode === 200) {
this.popup.upgradeInfo = "下载成功,正在安装..."
//console.log('下载成功');
//console.log(res.tempFilePath);
plus.runtime.install(res.tempFilePath, {}, function() {
//进行重新启动;
plus.runtime.restart();
}, (e) => {
this.popup.upgradeInfo = '安装升级包失败:' + JSON.stringify(e)
});
}
},
fail: (res) => {
console.log("下载失败");
}
});

                downloadTask.onProgressUpdate((res) => {  

                    let curDownload = !isNaN(res.totalBytesWritten) ? parseInt(res.totalBytesWritten) : 0;  
                    let total = !isNaN(res.totalBytesExpectedToWrite) ? parseInt(res.totalBytesExpectedToWrite) : 0;  
                    let info = "";  
                    if(total > 0) {  
                        info = this.$fk.statFileSize(curDownload) + " / " + this.$fk.statFileSize(total);  
                    } else {  
                        info = this.$fk.statFileSize(curDownload);  
                    }  

                    this.popup.upgradeInfo = "已下载:" + info  

                    //console.log('下载进度:' + res.progress);  
                    //console.log('已经下载的数据长度' + res.totalBytesWritten);    
                    //console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);  

                });

操作步骤:

const downloadTask = uni.downloadFile({
url: this.upgradeInfo.downloadUrl,
success: (res) => {
if (res.statusCode === 200) {
this.popup.upgradeInfo = "下载成功,正在安装..."
//console.log('下载成功');
//console.log(res.tempFilePath);
plus.runtime.install(res.tempFilePath, {}, function() {
//进行重新启动;
plus.runtime.restart();
}, (e) => {
this.popup.upgradeInfo = '安装升级包失败:' + JSON.stringify(e)
});
}
},
fail: (res) => {
console.log("下载失败");
}
});

                downloadTask.onProgressUpdate((res) => {  

                    let curDownload = !isNaN(res.totalBytesWritten) ? parseInt(res.totalBytesWritten) : 0;  
                    let total = !isNaN(res.totalBytesExpectedToWrite) ? parseInt(res.totalBytesExpectedToWrite) : 0;  
                    let info = "";  
                    if(total > 0) {  
                        info = this.$fk.statFileSize(curDownload) + " / " + this.$fk.statFileSize(total);  
                    } else {  
                        info = this.$fk.statFileSize(curDownload);  
                    }  

                    this.popup.upgradeInfo = "已下载:" + info  

                    //console.log('下载进度:' + res.progress);  
                    //console.log('已经下载的数据长度' + res.totalBytesWritten);    
                    //console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);  

                });

预期结果:

下载的时候会进入onProgressUpdate函数

实际结果:

不进入onProgressUpdate函数

bug描述:

downloadTask.onProgressUpdate不执行

下载的文件为apk
服务器端:undertow 2.2.17

2022-09-13 16:06 负责人:无 分享
已邀请:
DCloud_UNI_Anne

DCloud_UNI_Anne

文档示例测试未复现此问题,请升级至HBuilder X3.6.1-alpha试下

该问题目前已经被锁定, 无法添加新回复