使用 PHP 的 guzzle http 向微信公众号上传图片素材时总是失败

我安装了 http guzzle,然后用这个请求微信公众号的上传素材接口,我这样请求的:

function upload($pic){
    $url = 'https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token='.$this->token;
    $client->request('POST', $url, ['media' => $pic])
}

我用的是thinkphp5.0, 这里 upload 的参数 $pic 是我上传到服务器的图片,并且我是这样处理的,
$file = realpath('./public/uploads/'.$msg->thumb);
$pic = new \CURLFile($file);
但是请求接口时总是返回 string(70) "{"errcode":41005,"errmsg":"media data missing hint: [FrT1RA0252d234]"}" 这样的错误。是我 guzzle 的请求方式不对吗?

龙小默
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 2

文档

https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html#body

需要设置post的参数

5年前 评论

您好,请问这问题具体该怎么解决呢,我也遇到了。

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!