微信小程序調(diào)用圖片安全API

微信小程序?qū)徍司芙^,拒絕原因是用戶上傳圖片可能存在違法違規(guī)問(wèn)題,程序必須有審核機(jī)制。
解決方法如下(云開(kāi)發(fā)):
config.json

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

云函數(shù)

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;
        }
        //校驗(yàn)圖片

        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: '圖片含有違法違規(guī)內(nèi)容',
                    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)
          }
        })

      }
    });
  },

長(zhǎng)期廣告:我在開(kāi)發(fā)中遇到的更多的坑都已經(jīng)記錄在easyDemo小程序中,希望我的demo能給你easy。我還會(huì)持續(xù)更新easyDemo,歡迎收藏。


easyDemo.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一章 什么是微信小程序 1. 小程序介紹 微信小程序是一種全新的連接用戶與服務(wù)的方式,它可以在微信內(nèi)被便捷地獲取...
    呆毛和二貨閱讀 969評(píng)論 0 1
  • 最近做一個(gè)帶圖片和文字發(fā)布的微信小程序,當(dāng)時(shí)心里犯嘀咕,沒(méi)有自我審查估摸著上不了。果不其然微信小程序提交代碼審核的...
    97690CE50CC872D閱讀 10,455評(píng)論 12 10
  • 我有一個(gè)發(fā)小,她爸是多年的村干部。一雙小眼睛嚴(yán)肅而有神,打電話時(shí)跟對(duì)唱山歌似的洪亮,腋下夾著公文包,腳底生風(fēng)步子極...
    九七格子貓閱讀 541評(píng)論 3 4
  • 因?yàn)槟?我變得千蒼百孔,遍體鱗傷 你如狂風(fēng)暴雨盤(pán)旋著 吹拂我每一個(gè)毛孔收縮 刺激我每一根神經(jīng)痙攣 即是挑釁,又是笑...
    舞寶寶閱讀 520評(píng)論 3 3
  • 轉(zhuǎn)眼間,又到了一個(gè)結(jié)束與開(kāi)始的階段,每當(dāng)結(jié)束便意味著新的開(kāi)始。人生如戲,不同的舞臺(tái),不同的角色,沒(méi)有永恒的角...
    心久念閱讀 587評(píng)論 0 0

友情鏈接更多精彩內(nèi)容