(内容看起来有点长,但实际上只会花费你2-3分钟左右)
你好,我在文档:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/sec-check/imgSecCheck.html
进行内容安全开发。
业务需求是:1. 用户上传头像 2. 用户选择文章题图 3. 用户在文章内上传图
这3个场景中用户可以上传图片。
所以我们想使用 imgSecCheck 进行安全检查,如果是违法违规的图片。就拒绝提交。
我的代码实现是
1- 上传图片到七牛
2- 通过参数拼接,把图片的尺寸降低到 750x1344 大小以下(文档中说了图片宽高限制)
例子:'https://img.example.com/' + res.qiniu_url + '?imageView2/2/w/740/h/1324';
3. 用 wx.downloadFile 把这个图片下载下来
4. wx.uploadFile 把上一步的图片 + access_token 传给微信内容安全接口
var url = `https://api.weixin.qq.com/wxa/img_sec_check?access_token=${access_token}`
wx.uploadFile({
url: url,
....
5. 内容安全接口会返回是否合规。
到上文说的部分目前为止,一切正常。
后来发现在开发者工具里是 OK 的,但是在真机上是不行的。
因为开发者工具里勾选了 "不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书"
于是我把开发者工具取消勾选了 "不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书"
看到报错信息如下:
问题:
正确的做法是否是通过自己的后端来上传图片到 imgSecCheck 接口?
而不是直接在微信小程序里通过 wx.uploadFile 做(因为会导致 "不在 uploadFile 合法域名列表" 中)
如果是这样,麻烦在文档里补充提醒一下。避免其他人犯和我一样的错。浪费时间。
谢谢阅读
你可以通过云函数上传
微信的接口不允许 在小程序端调用
因为这样不安全 特别是有acc token 秘钥之类的 接口
好的,我去了解一下云函数,谢谢回复