用下图方式可以拍照,但是拍的照片怎么没法存到相册里呢?

用下图的方式可以拍照,但是拍的照片怎么没法存到相册里呢?第一次自己制作小程序,指导一下呗,

img

camera组件takePhoto的成功回调会返回一个临时路径,所以直接传入saveImageToPhotosAlbum中filePath就行了,关于授权问题可以看下楼上发的授权文档地址。

img


https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.takePhoto.html
https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html

Page({
    onLoad() {
        this.ctx = wx.createCameraContext()
    },
    takePhoto() {
        this.ctx.takePhoto({
            quality: 'high',
            success: (res) => {
                wx.saveImageToPhotosAlbum({
                    filePath: res.tempImagePath,
                    success: (res) => {
                        console.log(res.errMsg);
                        wx.showToast({
                            title: "保存成功"
                        })
                    }
                })
                this.setData({
                    src: res.tempImagePath
                })
            }
        })
    }
})

https://developers.weixin.qq.com/s/GNcCdDmi7wCv

  1. 少传参数 filePath
    看代码截图,少传一个参数 filePath。
    定义一个 资源临时路径 变量,在 cameraContext.takePhoto的 success方法中赋值,并参考以下引用。
wx.saveImageToPhotosAlbum({
    filePath: 资源临时路径,
    success: function(data) {
        console.log(data);
    },
    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('获取权限失败')
                        }
                    }
                }
            })
    }
})
  1. 请确保已授权


wx.authorize(Object object) | 微信开放文档 微信开发者平台文档 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorize.html

wx.authorizeForMiniProgram(Object object) | 微信开放文档 微信开发者平台文档 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorizeForMiniProgram.html

怎样定义一个临时路径