zoukankan      html  css  js  c++  java
  • 小程序保存图片到相册

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

    //保存图片到相册
    
    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);
                
                }
                
                })
                
                }
                
                })
    
      
    
    },
    
  • 相关阅读:
    抽象类
    继承
    面向对象的静态属性,类方法,静态方法
    查找linux系统下的端口被占用进程的两种方法 【转】
    awk学习
    【转】借助LVS+Keepalived实现负载均衡
    ORA-28001: the password has expired解决方法
    ORACLE的还原表空间UNDO写满磁盘空间,解决该问题的具体步骤
    Oracle控制文件多路复用以及Oracle备份重建控制文件
    RedHat6.1通过配置yum server安装软件包
  • 原文地址:https://www.cnblogs.com/wentutu/p/10305036.html
Copyright © 2011-2022 走看看