downloadTask.onProgressUpdate在安卓系统不工作
发布于 6 年前 作者 kshen 6265 次浏览 来自 问答

安卓真机下,downloadTask.onProgressUpdate并不能显示进度条。但是在iphone真机下是可以的。

代码附上:

    const downloadTask = wx.downloadFile({

      url: url,

      success: function (res) {

        wx.showToast({

          title: ‘下载完成’,

          icon: ‘success’,

          duration: 1000

        });

        _this.setData({

          displayProgressBar: false,

          downloadPercent: 0

        });

        var filepathtemp = res.tempFilePath;

        if (app.debug.dev) {

          console.log(‘res :’, res);

          console.log(‘download temp filepath:’, filepathtemp);

        }

        //自动打开文件

        setTimeout(function () {

          wx.openDocument({

            filePath: filepathtemp,

            success: function (res) {

              if (app.debug.info) {

                console.log(‘success:’, “打开文档成功”);

              }

            },

            fail: function (res) {

              if (app.debug.info) {

                console.log(‘fail:’, res);

              }

            },

            complete: function (res) {

              if (app.debug.info) {

                console.log(‘complete:’, res);

              }

            }

          })

        }, 1000) //延迟时间

        // //对临时资源进行永久保存

        // wx.saveFile({

        //   tempFilePath: filepathtemp, //tempFilePath想要保存的文件的临时地址  

        //   success: function (res) {

        //     console.log(“保存成功啦”)

        //     console.log(res) //res是保存成功的返回值,包含存储路径等

        //     var savedPath = res.savedFilePath;

        //   }

        // })

      },

      fail: function () {

        if (app.debug.info) {

          console.log(‘下载失败’, e);

        }

        wx.showToast({

          title: ‘下载失败’,

          icon: ‘loading’,

          duration: 1000

        });

        _this.setData({

          displayProgressBar: false,

          downloadPercent: 0

        });

      },

      complete: function () {

        console.log(‘complete’);

        _this.setData({

          displayProgressBar: false,

          downloadPercent: 0

        });

      },

    });

    // when the progress is updated

    // monitoring the download progress

    downloadTask.onProgressUpdate((res) => {

      console.log(‘下载进度’, res)

      console.log(‘下载进度’, res.progress)

      console.log(‘已经下载的数据长度’, res.totalBytesWritten)

      console.log(‘预期需要下载的数据总长度’, res.totalBytesExpectedToWrite)

      this.setData({

        downloadPercent: ((res.totalBytesWritten / totalbytes) * 100).toFixed(2)  //toFixed(2)取小数点后两位,更新wxml中progress组件的进度值  

      })

    });

在安卓真机下,downloadTask.onProgressUpdate好像并没有被触动。

测试机型:小米5、坚果pro2、华为8

微信:6.5.22



5 回复

同遇到该问题,IOS 返回的数据也不准确。

楼主咋解决的?急急急…

微信的开发团队不给解决的咯

遇到同样的问题了,downloadTask.onProgressUpdate不工作,不知道为什么,在开发者工具里没有问题,但是在安卓真机上就不行

oppo机也不行

回到顶部