【图片违规检测API】imgSecCheck
【调用方式】HTTPS调用
【核心代码】
对图片校验接口进行封装:
在 utils 文件夹下的 util.js 文件里写如下封装代码
const imgCheck = function (imgurl) {
return new Promise((resolve)=>{
wx.uploadFile({
url: '后端根据微信文档里的图片安全接口地址写好提供给前端的接口请求地址',
method: 'POST',
filePath: imgurl,
name: 'media',// media 为接口约定的入参字段的key,按需写
header: {
'content-type': 'multipart/form-data'//这个很重要,multipart/form-data
},
success: function(res) {
resolve(res)
},
})
})
}
导出:
module.exports = { imgCheck: imgCheck }
上传图片后首先进行违规检测,再执行业务代码:
引入封装的检测方法imgCheck:const util = require('../../utils/util.js');
wx.chooseImage({
count: 1,
sizeType: ['orignial', 'compressed'],
sourceType: ['album','camera'],
success: function (res) {
util.imgCheck(res.tempFilePaths[0]).then(rt=>{
console.log(rt)
if (JSON.parse(rt.data).errcode != '87014') {
//业务代码
} else {
console.log('图片含有敏感信息,请重新上传')
}
})
}
})
imgSecCheck 调用示例代码 , 有没有DJango 后台版的例子吗?
filename = os.path.join(settings.UPLOAD_PATH_ABS,"bb900c3e-86de-11eb-a290-b496913c7477.PNG") content_data = {"media": filename} content_data = json.dumps(content_data, ensure_ascii=False).encode('utf-8') # headers = {'Content-Type': 'multipart/form-data'} http = urllib3.PoolManager() http_url = settings.ImgSecCheck_URL + settings.WX_Access_Token response = http.request('POST', http_url,body=content_data) 报错:errcode: 41005, errmsg: "media data missing rid: 605e0490-3bc98158-62723e15"