收藏
回答

云服务器security.msgSecCheck躺坑

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 工具 wx2e8ac6c2f6d92a4c 2.6.7

云函数:

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {
try {
const res = await cloud.openapi.security.imgSecCheck({
media: {
contentType: 'image/png',
value: event.img
           }
})
return res;
} catch (err) {
return err;
}

}


本地函数:


wx.chooseImage({count: 1}).then((res) => {
if(!res.tempFilePaths[0]){
return;
}
if (res.tempFiles[0] && res.tempFiles[0].size > 1024 * 1024) {
wx.showToast({
title: '图片不能大于1M',
icon: 'none'
       })
return;
}
wx.request({url:res.tempFilePaths[0],responseType: 'arraybuffer'}).then(
buffer=>{
wx.cloud.callFunction({
name: 'checkImg',
data: {
img:buffer.data
               }
}).then(
imgRes=>{
console.log(JSON.stringify(imgRes))
}
)
}
)
})


返回值:

{"errMsg":"cloud.callFunction:ok","result":{"errCode":41005,"errMsg":"openapi.security.imgSecCheck:fail media data missing hint: [5MWz.a01394870]"},"requestID":"31101ae7-adf9-11e9-a24c-525400b2c41b"}




好难以理解啊,该做的工作都做了,各种尝试,就是无法拿到正常的返回数据,请各位大佬点评,哪里写错了,我改.....

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

2 个回答

  • 邓坤力
    邓坤力
    2019-07-25

    imgSecCheck 要求传入的是 buffer,这个不是,你可以用本地调试或打 log 看看



    2019-07-25
    有用
    回复 5
    • 蝈蝈
      蝈蝈
      2019-07-25
      打log了,确实是buffer,并不是图片地址
      2019-07-25
      回复
    • 蝈蝈
      蝈蝈
      2019-07-25
      各种能尝试的方法,我都试了,就是不行
      2019-07-25
      回复
    • Rover
      Rover
      2019-09-17
      我也遇到了这个问题。。。
      2019-09-17
      回复
    • 邓坤力
      邓坤力
      2019-09-17回复蝈蝈
      用本地调试吧,然后断点看看,截图出来,这里不会是 buffer 的
      2019-09-17
      回复
    • 左狐偃
      左狐偃
      2019-10-21回复邓坤力
      官方能不能看看,真机上难通过的,Buffer太大,手机直接没有反映
      2019-10-21
      回复
  • 蝈蝈
    蝈蝈
    2019-07-24

    哪位大佬路过指点迷津一下

    2019-07-24
    有用 1
    回复 5
    • 蝈蝈
      蝈蝈
      2019-07-24
      help
      2019-07-24
      回复
    • 蝈蝈
      蝈蝈
      2019-07-26
      我终于整ok了,下个帖子发出来完成代码
      2019-07-26
      回复
    • 無遠侯
      無遠侯
      2019-09-24回复蝈蝈
      看了那帖子,没有干货啊,所以 41005 错误的原因是什么?
      2019-09-24
      回复
    • 蝈蝈
      蝈蝈
      2019-10-14回复無遠侯
      照着代码,能搞定就ok了,至于底层腾讯封装了一批,我也不知道底层是什么,至于41005原因可能就是 传了不对的参数
      2019-10-14
      回复
    • 無遠侯
      無遠侯
      2019-10-14回复蝈蝈
      出现 41005 是腾讯把不符合的传入数据都归类为没有传入数据了,没有细分错误的各种可能。
      2019-10-14
      回复
登录 后发表内容