【微信小程序】图片违法违规内容鉴别(云函数)

微信小程序通过云调用校验一张图片是否含有违法违规内容。

选择图片:

js 复制代码
  wx.chooseImage({
        count: 6,
        sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
        sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
        success: function(res) {
          var tempFiles = res.tempFiles
          tempFiles.forEach((ele,index)=>{
            if (ele && ele.size > 1024 * 1024) {
              toast('图片不能大于1M')
              return;
            }
           // 图片转化buffer后,调用云函数
            wx.getFileSystemManager().readFile({
              filePath: ele.path,
              success: res => {
                let check_img = check_img_Func(res.data)
                check_img.then(res => {
                  //图片是否违规
                  if (res.result.errCode && res.result.errCode == 87014){
                    toast('图片含有违法违规内容')
                  }
                }).catch(console.error)
              },
              fail: err => {
                reject(err);
              }
            });
          })
        }
      })

引用云函数:

js 复制代码
const check_img_Func = function(img) {
     return wx.cloud.callFunction({
       // 云函数名称
       name: 'check_img',
       // 传给云函数的参数
       data: ({
         img: img
       }),
     })
   }

check_img/index.js:

js 复制代码
// 云函数入口文件
const cloud = require('wx-server-sdk')  
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
  try {
    var result = await cloud.openapi.security.imgSecCheck({
      media: {
        contentType: 'image/png',
        value: Buffer.from(event.img) 
      }
    })
    return result
  } catch (err) {
    return err
  }
}

check_img/config.json和package.json中加入配置一下代码:

js 复制代码
{
  "permissions": {
    "openapi": [
      "security.imgSecCheck"
    ]
  }
}

本篇博客旨在记录了自己在小程序编程过程中碰到的一部分问题,如有错误的地方欢迎指正

相关推荐
fengGer的bugs7 小时前
新生儿喂养记录微信小程序:本地存储、四套主题,以及一份可改期的疫苗体检日程
微信小程序
高级程序源9 小时前
SSM仓储管理系统31582-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·flask·课程设计
青企通9 小时前
弱网环境下小程序首屏性能优化:从 5.2 秒到 1.4 秒的完整实践
性能优化·小程序
5G微创业10 小时前
去除抖音视频水印的Python实现
python·微信小程序·去水印
WeiXin_DZbishe10 小时前
基于微信小程序的本地闲置物品交易平台-计算机毕设 附源码【课程设计】26825
vue.js·spring boot·python·微信小程序·架构·php·课程设计
高级程序源11 小时前
springboot本地生活服务平台33399-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·小程序·flask·课程设计
高级程序源12 小时前
django房屋租赁系统28636-计算机课程设计、毕业设计
python·mysql·elasticsearch·小程序·django·flask·课程设计
CRMEB定制开发12 小时前
开源模型正在吃掉闭源的市场,这意味着什么?
小程序·公众号商城·商城源码·crmeb·开源商城
小蒜学长13 小时前
基于微信小程序的医院医疗废弃物追溯管理系统(代码+数据库+LW)
java·spring boot·后端·微信小程序·医疗废弃物
霍营_托尼13 小时前
微信小程序点餐项目实战:飞入动画、样式错位、弹窗不消失,7 个前端坑的完整排障记录
javascript·微信小程序·动效