在小程序端的代码:
// 调用云函数获取用户的 OpenID
wx.cloud.callFunction({
name: 'getOpenID',
success: res => {
const openid = res.result.openid;
console.log('用户的 OpenID:', openid);
// 将文件上传到云存储
wx.cloud.uploadFile({
cloudPath: 'user/' + openid + '/avatar.png', // 指定文件夹路径和文件名
filePath: 'localFilePath', // 本地文件路径
success: res => {
console.log('文件上传成功', res.fileID);
},
fail: err => {
console.error('文件上传失败', err);
}
});
},
fail: err => {
console.error('获取用户 OpenID 失败', err);
}
});
再云函数getOpenID的代码:
// 通过云函数获取用户的 OpenID
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext();
return {
openid: wxContext.OPENID
};
};
在上述示例中,我们通过云函数调用来获取用户的 OpenID,并在云函数中将 OpenID 返回给小程序端,然后在小程序端将文件上传到云存储。