thinkphp微信上传永久素材报41005错误解决办法

thinkphp微信上传永久素材报41005错误说明传参值有误,正确的传参方式如下:
例如:

$filepath= "themes/simplebootx/Public/assets/images/banner-inner-fail.jpg";
if(class_exists('\CURLFile')){
    $data['media'] = new \CURLFile(realpath($filepath));
}else{
    $data['media'] = '@'.realpath($filepath);
}
if (!$filepath) throw new \Exception('资源路径错误!');

WechatAuth.class.php类库中更改materialAddMaterial方法如下:

public function materialAddMaterial($filename, $type, $description = '')
       {
        //将$filename = realpath($filename);更改为:

       if(class_exists('\CURLFile')){
           $filename = new \CURLFile(realpath($filename));
       }else{
           $filename = '@'.realpath($filename);
       }

       if (!$filename) throw new \Exception('资源路径错误!');

       $data = array(
           'type' => $type,
           'media' => $filename,//将'media' => "@{$filename}"改为'media' => $filename
       );

       if ($type == 'video') {
           if (is_array($description)) {
               //保护中文,微信api不支持中文转义的json结构
               array_walk_recursive($description, function (&$value) {
                   $value = urlencode($value);
               });
               $description = urldecode(json_encode($description));
           }
           $data['description'] = $description;
       }
       return $this->api('material/add_material', $data, 'POST', '', false);
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值