小程序保存圖片到相冊

記錄一下 保存圖片到相冊 方便下次使用好找小程序

//保存圖片到相冊

saveImg: function () {

        var _this = this;
        //獲取圖片路徑 將his.data.src換成本身圖片的路徑便可
        var imgSrc = this.data.src;
        
        //圖片路徑不是http轉換成https ,注意:域名 添加到小程序設置 downloadFile 合法域名 才能保存
        var imgArray=imgSrc.split(":"); 
        
        if (imgArray[0] =="http"){
        
        imgSrc = "https:"+ imgArray[1];
        
        }
        //獲取用戶保存到相冊的受權
        wx.getSetting({
        
        success(res) {
        
        if (!res.authSetting['scope.writePhotosAlbum']) {//用戶沒有受權
        
        wx.authorize({//喚起用戶受權
        
        scope: 'scope.writePhotosAlbum',
        
        success() {//用戶受權
        //調用保存圖片到相冊方法
        _this.save(imgSrc)
        
        }
        
        })
        
        } else {已經受權直接保存圖片
        
        _this.save(imgSrc)
        
        }
        
        }
        
        })

},
//保存圖片到相冊方法
save: function (imgSrc) {

            var imgSrc = imgSrc;
            
            wx.downloadFile({
            
            url: imgSrc,
            
            success: function (res) {
            
            console.log(res);
            
            //圖片保存到本地
            
            wx.saveImageToPhotosAlbum({
            
            filePath: res.tempFilePath,
            
            success: function (data) {
            
            wx.showToast({
            
            title: '保存成功',
            
            icon: 'success',
            
            duration: 2000
            
            })
            
            },
            
            fail: function (err) {
            
            console.log(err);
            
            if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
            
            console.log("當初用戶拒絕,再次發起受權")
            
            wx.openSetting({
            
            success(settingdata) {
            
            console.log(settingdata)
            
            if (settingdata.authSetting['scope.writePhotosAlbum']) {
            
            console.log('獲取權限成功,給出再次點擊圖片保存到相冊的提示。')
            
            } else {
            
            console.log('獲取權限失敗,給出不給權限就沒法正常使用的提示')
            
            }
                        
            }
            
            })
            
            }
            
            },
            
            complete(res) {
            
            console.log(res);
            
            }
            
            })
            
            }
            
            })

  

},
相關文章
相關標籤/搜索