收藏
回答

wx.uploadFile 无法直接上传到 内容安全 接口?

(内容看起来有点长,但实际上只会花费你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 合法域名列表" 中)


如果是这样,麻烦在文档里补充提醒一下。避免其他人犯和我一样的错。浪费时间。

谢谢阅读


最后一次编辑于  2018-11-04  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • 半寸灰
    半寸灰
    2018-11-04

    你可以通过云函数上传

    微信的接口不允许 在小程序端调用

    因为这样不安全  特别是有acc token  秘钥之类的 接口


    2018-11-04
    赞同
    回复 1
    • 郑诚(Zheng Cheng)
      郑诚(Zheng Cheng)
      2018-11-05

      好的,我去了解一下云函数,谢谢回复

      2018-11-05
      回复