Heim  >  Artikel  >  WeChat-Applet  >  Das WeChat-Applet ruft die Bildsicherheits-API auf

Das WeChat-Applet ruft die Bildsicherheits-API auf

hzc
hzcnach vorne
2020-07-01 09:57:322494Durchsuche

Das WeChat-Miniprogramm wurde überprüft und abgelehnt. Der Grund für die Ablehnung war, dass die vom Benutzer hochgeladenen Bilder möglicherweise illegale oder illegale Probleme aufweisen. Das Programm muss über einen Prüfmechanismus verfügen.
Die Lösung lautet wie folgt (Cloud-Entwicklung):
config.json

{
  "permissions": {
    "openapi": [
      "security.imgSecCheck"
    ]
  }
}

Cloud-Funktion

const cloud = require('wx-server-sdk')

cloud.init()
 
exports.main = async (event, context) => {
  const { value } = event;
  try {
    const res = await cloud.openapi.security.imgSecCheck({
      media: {
        header: {
          'Content-Type': 'application/octet-stream'},
        contentType: 'image/png',
        value: Buffer.from(value)
        }
      })
    return res;
  } catch (err) {
    return err;
  }
}

js

ChooseImage() {
    wx.chooseImage({
      count: 1, 
      sizeType: ['original', 'compressed'], 
      sourceType: ['album'], 
      success: (res) => {
        if (res.tempFiles[0] && res.tempFiles[0].size > 1024 * 1024) {
          wx.showToast({
            title: '图片不能大于1M',
            icon: 'none'
          })
          return;
        }
        //校验图片

        wx.getFileSystemManager().readFile({
          filePath: res.tempFilePaths[0],
          success: buffer => {
            console.log(buffer.data)
            wx.cloud.callFunction({
              name: 'checkImg',
              data: {
                value: buffer.data
              }
            }).then(
              imgRes => {
                if (imgRes.result.errCode == '87014') {
                  wx.showToast({
                    title: '图片含有违法违规内容',
                    icon: 'none'
                  })
                  return
                } else {
                  //图片正常

                  if (this.data.imgList.length != 0) {
                    this.setData({
                      imgList: this.data.imgList.concat(res.tempFilePaths)
                    })
                  } else {
                    this.setData({
                      imgList: res.tempFilePaths
                    })
                  }


                }

              }
            )
          },
          fail: err => {
            console.log(err)
          }
        })

      }
    });
  },

Empfohlenes Tutorial: " WeChat Mini-Programm

Das obige ist der detaillierte Inhalt vonDas WeChat-Applet ruft die Bildsicherheits-API auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jianshu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen