保存圖片到本地相冊,需要用戶允許相冊權限;但是有時客戶手滑或者是特別原因點擊了拒絕授權,我們需要打開權限列表,讓客戶手動打開此項權限;
需要用到的API
- wx.getImageInfo();
- wx.saveImageToPhotosAlbum();
- wx.getSetting();
- wx.openSetting();
vi設計http://www.maiqicn.com 辦公資源網站大全https://www.wode007.com
代碼如下:
wxml
<button type="" class="white btna" bindtap="downImg" >'{{info.inviter_img}}'>保存圖片</button>
js
downImg(e) {
var img_url = e.currentTarget.dataset.url;
// 首先獲取圖片信息,得到圖片的路徑; wx.getImageInfo({ src: img_url, success(res) { // 然后使用saveImageToPhotosAlbum保存圖片到本地,到這會詢問用戶是否打開相冊權限;如果他允許即保存成功; wx.saveImageToPhotosAlbum({ filePath: res.path, success(e) { wx.showToast({ title: '保存成功', icon: 'none', duration: 2000 }) }, fail(e) { // 如果他不允許,圖片保存失敗,我們使用getSetting獲取用戶授權信息,如果用戶沒有允許writePhotosAlbum權限, // 使用openSetting打開授權頁,讓客戶手動打開授權,即可成功保存圖片; wx.getSetting({ success(res) { if (!res.authSetting["scope.writePhotosAlbum"]) { wx.showModal({ title: '警告', content: '請打開相冊權限,否則無法保存圖片到相冊', success(res) { if (res.confirm) { wx.openSetting({ success(res) { console.log(res) } }) } else if (res.cancel) { wx.showToast({ title: '取消授權', icon: "none", duration: 2000 }) } } }) } } }) } }) } }) },
