云函数调用openapi.security.imgSecCheck 在生产环境中常常无法上传检测图片
发布于 5 年前 作者 fanyang 15387 次浏览 来自 官方Issues

我严格按照你们的接口制作云函数,和调用openapi.security.imgSecCheck

我的云函数ID: ‘xiao-ge-wu-qq0en’

我的云函数名是: imgSecCheck

我的云函数代码

const cloud = require('wx-server-sdk')
 
cloud.init()
 
// 云函数入口函数
exports.main = async (event, context) => {
  //const wxContext = cloud.getWXContext()
 
  try{
    var contentType = event.contentType;
    const result = await cloud.openapi.security.imgSecCheck({
      media: {
        contentType: contentType ? contentType : 'image/png',
        value: Buffer.from(event.value)
      }
    });
    return result;
 
  }catch(err) {
    return err;
  }
 
}

调用云函数代码

wx.cloud.callFunction({
                      // 云函数名称
                      name: 'imgSecCheck',
                      // 传给云函数的参数
                      data: {
                        contentType: 'image/' + fileType,
                        value: buffer
                      },
                      success: function (res) {
                        wx.hideLoading();
                        if (res.result.errCode === 87014) {
                          wx.showToast({
                            title: '高危险内容请重新上传',
                            icon: 'none',
                            duration: 4000
                          })
                        } else {
                          that._uploadImage(key, filePath);
                        }
                      },
                      fail: function (res) {
                        
                        if (res.errCode) {
                          wx.showToast({
                            title: '上传超时了,请压缩图片',
                            icon: 'none',
                            duration: 4000
                          })
                        }
                      }
                    })

Bug 的现象:

我上传了一张习主席的图片去检测,应该返回的是87014 但是返回的是-404010 . errMsg 是 “fail timeout for result fetching, result cannot be fetched anymore” 还有一些正常的图片也遇到这个问题。我的微信版本是7.0.5

附上我用来测试的图片

vConsole 的截屏

这个BUG 只是在生产环境中产生。在我的开发工具中没有这个问题,我上传习主席的图片后返回的是87014。 我的开发工具是最新版本。1.02.1907300.

请去定一下是不是已经知道的BUG,请给出建议怎么用openapi.security.imgSecCheck ?

5 回复

麻烦提供一下appid和出现问题的时间

我的建议是最好少用云函数。 这样会给你的项目多增加了一BUG 的变量。调试也花时间,文档不清晰,而且增加了对不可控方的依赖性。如果他们不修改,你只能把你的云函数的逻辑搬到,服务端,又要重新写。我现在有后悔引入了云函数。

请问解决了吗,我这里也遇到

我这边也遇到了,求fix

回到顶部