收藏
回答

downloadTask.onProgressUpdate在安卓系统不工作


安卓真机下,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




回答关注问题邀请回答
收藏

7 个回答

登录 后发表内容