微信公众号开发上传零时素材遇到"errcode":41005,"errmsg":"media data missing

解决办法:因为php版本的原因,上传素材一直保错。 php 的curl的curl_setopt 函数存在版本差异

php5.5已经把通过@加文件路径上传文件的方式给放入到Deprecated中了。php5.6默认是不支持这种方式了

特殊处理1:curl_setopt ( $ch, CURLOPT_SAFE_UPLOAD, false);

特殊处理2:$post_data ['media']  = '@'.$file;


具体curl_post代码:

function post($url, $data)
{
    //初始化
    $ch = curl_init($url);
    //设置请求的参数
    curl_setopt ($ch, CURLOPT_SAFE_UPLOAD, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);//设置请求方式为post
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    //执行发送
    $res = curl_exec($ch);
    //返回
    return $res;
}

<?php 

    include './function.php';
    //请求的接口地址  
    $url = "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=".getToken()."&type=image";
    $data['media'] = '@'.dirname(__FILE__).'/sucai/images/2.jpg';
    $res = post($url,$data);
    echo $res;
    ?>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值