收藏
回答

云开发中云函数上传文件没有openid?

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 工具 wxd3c364ad903135af lemonbox-t-6wew9 2.12.2
async function getWXACode(event{
  //const wxContext = cloud.getWXContext()
  const wxacodeResult = await cloud.openapi.wxacode.getUnlimited({
    path'pages/connect/connect',
    scene: event.id
  })
  const fileExtensionMatches = wxacodeResult.contentType.match(/\/([^\/]+)/)
  const fileExtension = (fileExtensionMatches && fileExtensionMatches[1]) || 'jpg'
  const uploadResult = await cloud.uploadFile({
    cloudPath`wxacode_${event.id}.${fileExtension}`,
    fileContent: wxacodeResult.buffer,
  })
  return uploadResult.fileID
}


云函数作用:生成小程序码并上传到云储存后,返回fileID给小程序。

问题:通过云函数上传文件后,在云开发工具查看文件没有openid,导致小程序执行删除时出现问题,没有权限删除,储存权限为所有用户可读,仅创建者可读写

回答关注问题邀请回答
收藏

1 个回答

  • 无言
    无言
    2020-10-07

    这不是bug吧,就这样设计的,云函数是管理员权限,创建的数据不属于任何用户,你用云函数删就好了啊

    2020-10-07
    有用 1
    回复 3
    • 阿白
      阿白
      2020-10-07
      云函数调用的时候不是有WXContext吗,不应该用WXContext里面的的openid吗
      2020-10-07
      回复
    • 无言
      无言
      2020-10-07回复阿白
      不应该,这个Context只是代表当前哪个用户在行使管理员权限,和云函数本身的操作是管理员操作无关。如果云函数用这东西校验权限,你要怎么执行越权操作?再者说,云函数调用的时候可不一定有WXContext。
      2020-10-07
      回复
    • 阿白
      阿白
      2020-10-07回复无言
      好的,懂了,多谢
      2020-10-07
      回复
登录 后发表内容
问题标签