欢迎来到本网站

全国统一咨询热线:158-2196-7367

新闻中心

新闻中心News Center

联系方式

联系方式Contact infoemation

电话:158-2196-7367

邮箱:amy@hanett.com

地址:中国·上海市金山区朱泾镇南横街4号4幢1296室H座

当前位置:明翔网络 > 新闻中心 > 微信小程序无法保存图片提示saveImageToPhotosAlbum:fail file not found ...

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

文章出处:http://www.ucunicom.com/a/1030.html 阅读量:6 发表时间:05-04 11:30
新闻中心

最近项目中遇到一个需求,就是要保存商品的图片到手机相册,一开始我还以为挺简单的,毕竟文档在哪里,小程序一般都是拿来就用的,可是这个就是不行,遇到提示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();
}


全国咨询热线:158-2196-7367

二维码

地址:中国·上海市金山区朱泾镇南横街4号4幢1296室H座

版权所有 © 1999-2017 Copyright © 1999-2017 All Rights Reserved

cache
Processed in 0.003708 Second.