小程序下载图片到本地相册

            // 是否授权保存图片
            saveImage(){
                // 查看是否有 `scope.writePhotosAlbum` 权限
                wx.getSetting({
                    success: res => {
                        if (!res.authSetting['scope.writePhotosAlbum']) {
                            // 申请所需权限
                            wx.authorize({
                                scope: 'scope.writePhotosAlbum',
                                success: () => {
                                    // 授权成功保存图片
                                    this.saveToAlbum();
                                    // this.saveLocalImage(this.canvasImages)
                                },
                                fail: (err) => {
                                    // 授权失败
                                    console.log(err,'授权失败')
                                }
                            });
                        } else {
                            // 用户到设置中同意保存相册权限后再次保存到相册
                            // this.saveToAlbum();
                            this.saveLocalImage(this.canvasImages)
                        }
                    }
                });
            },
            // 保存到相册
            saveToAlbum() {
                // 把base64的图片转化成ArrayBuffer数据
                const buffer = wx.base64ToArrayBuffer(this.shareQr.replace(/^data:\w+\/\w+;base64,/, ''));
                // 指定图片的临时路径
                const path = `${wx.env.USER_DATA_PATH}/宝贝二维码.png`;
                // 获取小程序的文件系统
                const fsm = wx.getFileSystemManager();
                // 把arraybuffer数据写入到临时目录中
                fsm.writeFile({
                    filePath: path,
                    data: this.canvasImages,
                    encoding: 'binary',
                    success: () => {
                        this.saveLocalImage(path)
                    },
                    fail: (err) => {
                        // 写入失败
                        console.log(err,'写入失败')
                    }
                });
            },
            // 保存图片到本地相册
            saveLocalImage(img){
                wx.saveImageToPhotosAlbum({
                    filePath: img, // 图片文件路径,可以是临时文件路径也可以是永久文件路径,不支持网络图片路径
                    success: () => {
                        this.$refs.qrPopup.close()
                        uni.showToast({
                            title: '保存成功',
                            icon: 'none'
                        })
                    },
                    fail: () => {
                        uni.showToast({
                            title: '保存失败',
                            icon: 'none'
                        })
                    }
                })
            },

你可能感兴趣的:(小程序下载图片到本地相册)