小程序保存图片到相册

记录一下 保存图片到相册 方便下次使用好找

//保存图片到相册

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);
            
            }
            
            })
            
            }
            
            })

  

},
原文地址:https://www.cnblogs.com/wentutu/p/10305036.html