使用 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 的请求方式不对吗?

龙小默
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

文档

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

需要设置post的参数

4年前 评论

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

2年前 评论

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