<view class="info"> <block wx:for="{{dynamic_list}}" wx:for-item="item" wx:key="index"> <view class="row"> <view class="tulie" wx:for="{{item.file}}" wx:for-item="row" wx:key="key" wx:for-index="i"> <image src="{{row.img_url}}"></image> </view> </view> <button data-index="{{index}}" bindtap="download">一键保存到相册</button> <view class="progress" wx:if="{{schedule}}"> <progress percent="{{percent}}" duration="1" activeColor="#4aad8f" border-radius="10" stroke-width="12" show-info /> </view> </block> </view>
Page({ data: { dynamic_list: [{ file: [{ img_url: 'https://sucai.suoluomei.cn/sucai_zs/images/20191123112141-2.png' }, { img_url: 'https://sucai.suoluomei.cn/sucai_zs/images/20191121151131-1.png' }, { img_url: 'https://sucai.suoluomei.cn/sucai_zs/images/20191121151131-2.png' }, { img_url: 'https://sucai.suoluomei.cn/sucai_zs/images/20191121100950-3.png' }, { img_url: 'https://sucai.suoluomei.cn/sucai_zs/images/20191121093322-2.png' }] }], percent: 0, schedule: false }, // 下载图片到本地相册 download(e) { let index = e.currentTarget.dataset.index this.getsave(0, this.data.dynamic_list[index].file.length, index) }, getsave(i, length, index) { wx.showLoading({ title: '下载中(' + (i + 1) + '/' + length + ')', }) const downloadTask = wx.downloadFile({ url: this.data.dynamic_list[index].file[i].img_url, success: (res) => { wx.saveImageToPhotosAlbum({ filePath: res.tempFilePath, success: (res) => { if (i + 1 == length) { wx.showToast({ title: '保存成功', }); } wx.hideLoading() if (++i < length) { this.getsave(i, length, index); } }, fail: (err) => { wx.showToast({ title: '保存图片失败', icon: 'none', }) }, }) }, }) // 下载进度 downloadTask.onProgressUpdate((res) => { console.log(res) if (res.progress > 0) { this.setData({ schedule: true, percent: res.progress }) } if (res.progress == 100) { this.setData({ schedule: false }) } }) }, })
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句