微信小程序无法保存图片提示saveImageToPhotosAlbum:fail file not found

2022-01-15 0 1,301

最近项目中遇到一个需求,就是要保存商品的图片到手机相册,一开始我还以为挺简单的,毕竟文档在哪里,小程序一般都是拿来就用的,可是这个就是不行,遇到提示saveImageToPhotosAlbum:fail file not found问题,最后发现是用户没有授权。解决这个问题又发现小程序又无法保存图片,这明明是同意了为什么还不行,经过研究发现,我没要先获取图片信息在进行保存就可以了。我使用的是uni-app来开发的,如果你用原生小程序开发的话就把uni改成wx吧!在这里我强烈推荐大家使用uni-app来开发小程序。具体什么好处,大伙可以去看看uni-app的文档,好了不多说看代码。

/* 如果是这么写的,可以不使用button设置open-type属性*/
/* 判断是否授权 */
uni.authorize({
    /* 这个就是保存相册的 */
    scope: 'scope.writePhotosAlbum',
    success() {
        /* 保存图片方法 */
        img();
    },
    complete(res) {
        console.log(res);
        /* 这里判断一下如果没有授权重新打开设置选项 */
        uni.getSetting({
            success(res) {
                if (!res.authSetting['scope.writePhotosAlbum']) {
                    /* 打开设置的方法 */
                    opensit();
                }
            }
        });
    }
});
/* 授权提示 ,这里就是重复提示用户去授权*/
function opensit() {
    uni.showModal({
        content: '由于您还没有允许保存图片到您相册里,这无法进行分享操作点击确定去允许授权',
        success: function(res) {
            if (res.confirm) {
                /* 这个就是打开设置的API*/
                uni.openSetting({
                    success(res) {
                        console.log(res.authSetting);
                    }
                });
            } else if (res.cancel) {
                uni.showModal({
                    cancelText: '依然取消',
                    confirmText: '重新授权',
                    content: '很遗憾你点击了取消,这将无法进行分享操作,请慎重考虑',
                    success: function(res) {
                        if (res.confirm) {
                            uni.openSetting({
                                success(res) {
                                    console.log(res.authSetting);
                                }
                            });
                        } else if (res.cancel) {
                            console.log('用户不授权');
                        }
                    }
                });
            }
        }
    });
}
/* 特别注意要先获取图片信息在进行保存,不让保存不了 */
function img() {
/* 我这里要保存多张图片,一张的话就可以取消这些,具体看你的需求 */
    if (num > len) {
        return false;
    }
    /* 获取图片信息 */
    uni.getImageInfo({
        src: obj[num],
        success: function(image) {
            console.log(image);
            /* 保存图片到相册 */
            uni.saveImageToPhotosAlbum({
                filePath: image.path,
                success: function() {
                    console.log('save success');
                    if (num == len) {
                        uni.showModal({
                            title: '保存成功',
                            content: '图片已成功保存到相册,快去分享到您的圈子吧',
                            showCancel: false
                        });
                    }
                },
                complete(res) {
                    console.log(res);
                }
            });
        }
    });
    num++;
    img();
}
本文转载自爱尚博客原文地址https://aijiumai.cn/view/item/60.html
收藏 (0) 打赏

感谢您的支持,我们会继续努力的!

打开支付宝/微信/QQ扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有教学内容和资源均来源于本站原创和网络收集以及用户自主上传,如有侵权请带证联系本站客服进行处理!邮箱:team@lcwl.fun
2. 对于非本站原创的资源不保证所提供下载资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系本站客服处理,有奖励!
3. 除本站原创教学或资源外其余资源您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 本站原创资源如需商用还请申请商业授权,否则本站有权追究其法律责任!
5. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有学币奖励额外收入!

凌晨资源网 前端开发 微信小程序无法保存图片提示saveImageToPhotosAlbum:fail file not found https://www.lingchenw.cn/jishu/1109.html

常见问题
  • 本站所有付费教程均可单独付费或者开会员学习,自己购买或者开了会员就可以学习,来凌晨学院报名学习送会员,并且有讲师一对一辅导培训教学,师生互动化,定期布置作业等
查看详情
  • 本站所有资源版权均属于原作者所有,资源中标注可商用的可以商用的代表是本团队自主研发公布可商用的产品,未标注可商用所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务

学习手机编程软件开发
手机编程软件开发

你知道吗?用手机也能开发制作软件,满足自己的编程心,做属于自己的软件

报名学习
自媒体短视频
副业做自媒体短视频

想做自媒体短视频剪辑给自己多一份副业,只需一部手机你也可以

报名学习
搭建网站必备云互联主机
链未云互联

搭建网站,后台云服务等必备云服务器互联主机,IDC云主机

现在使用
Fa快捷助手
用手点一点就能开发做软件

不用记编程语法,不用一行一行手敲代码,用手点一点就能开发制作软件

点击下载