微信小程序下载照片(显示进度条)
发布时间:2020-12-14 19:27:37 所属栏目:资源 来源:网络整理
导读:一、downloadTask/UploadTask理解 downloadTask 一个可以监听下载进度变化事件,以及取消下载任务的对象 本质:对象 功能一:监听下载进度变化 功能二:取消下载任务 UploadTask 一个可以监听上传进度变化事件,以及取消上传任务的对象 本质:对象 功能一:
一、downloadTask/UploadTask理解
1.1、监听下载进度变化事件downloadTask.onProgressUpdate((res) => {
console.log('下载进度',res.progress)
console.'已经下载的数据长度',51); font-weight: 700;">res.totalBytesWritten)
console.'预期需要下载的数据总长度',51); font-weight: 700;">res.totalBytesExpectedToWrite)
})
复制代码
1.2、取消监听下载进度变化事件DownloadTask.offProgressUpdate(function callback)
复制代码
1.3、 监听 HTTP Response Header 事件DownloadTask.onHeadersReceived(callback)
复制代码
1.4、 取消监听 HTTP Response Header 事件DownloadTask.offHeadersReceived(callback)
复制代码
1.5、中断下载任务DownloadTask.abort()
复制代码
二、downloadFile 下载文件理解
success 返回的两个参数
,header:'',//HTTP 请求的 Header,Header 中不能设置 Referer
filePath://指定文件下载后存储的路径
success(res) {
// 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调
//业务需要自行判断是否下载到了想要的内容
if (res.statusCode === 200) {
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath
})
}
},fail(err){
console.log(err)
},complete(res){
.log(res)
}
})
复制代码
三、saveImageToPhotosAlbum 理解
/**
* [downloadPhoto 下载照片]
*/
downloadPhoto (e) {
let imgUrl = e.currentTarget.dataset.src
// 下载监听进度
const downloadTask = wx.downloadFile({
url: imgUrl,success: function (res) {
console.log(res)
if (res.statusCode === 200) {
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,51); font-weight: 700;">function (res) {
wx.showToast({
title: '保存图片成功'
})
},fail: '保存图片失败'
})
}
})
}
}
})
downloadTask.onProgressUpdate((res) => {
res.progress === 100) {
this.setData({
progress: ''
})
} else {
this.setData({
progress: res.progress + '%'
})
}
})
},复制代码
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |