小程序 保存图片失败,获取相册权限

  1. 登陆小程序后台https://mp.weixin.qq.com/更新一下用户隐私协议
    要填写获取相册权限是干什么用的

  2. 代码里面也要判断用户是否有相册权限
    不然用户一脸懵逼,只知道图片保存无反应获取失败

/**
         * 下载图片
         * @param {*} url 
         */
        downloadImg(url, callback) {
            // 首先下载图片
            uni.downloadFile({
                url,
                success: downloadResult => {
                    if (downloadResult.statusCode === 200) {
                        // 下载成功,保存图片到系统相册
                        uni.saveImageToPhotosAlbum({
                            filePath: downloadResult.tempFilePath,
                            success: () => {
                                callback && callback()
                                uni.showToast({
                                    title: '图片保存成功',
                                    icon: "none"
                                });
                            },
                            fail: (err) => {
                                console.log('err:', err);
                                uni.showToast({
                                    title: '图片保存失败',
                                    icon: 'none'
                                });
                            }
                        });
                    }
                },
                fail: () => {
                    uni.showToast({
                        title: '图片下载失败',
                        icon: 'none'
                    });
                }
            });
        },
        getAlbumPermissions(url, callback) {
            let that = this
            uni.getSetting({
                success(res) {
                    if (!res.authSetting['scope.writePhotosAlbum']) {
                        uni.authorize({
                            scope: 'scope.writePhotosAlbum',
                            success(res) {
                                that.downloadImg(url, callback)
                            },
                            fail() {
                                uni.showModal({
                                    content: '请允许相册权限,拒绝将无法正常使用小程序',
                                    showCancel: false,
                                    success() {
                                        uni.openSetting({
                                            success(settingdata) {
                                                if (settingdata.authSetting['scope.writePhotosAlbum']) {
                                                } else {
                                                    console.log('获取权限失败')
                                                }
                                            }
                                        })
                                    }
                                })
                            }
                        })
                    } else {
                        that.downloadImg(url, callback)
                    }
                }
            })
        },
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容