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