oauth2: 对 api 如何上传文件?
环境是:
- yii2-authclient
- weibo.upload接口
感谢思路/点拨, 这个问题应该不限定在yii2
框架内.
接口文档:pic
类型: binary 描述: 要上传的图片,仅支持JPEG、GIF、PNG格式,图片大小小于5M。
我的代码:
public function sendUpload($text, $url)
{
return $this->api('2/statuses/upload.json', 'POST', [
'status' => $text,
'visible' => self::VISIBLE_ALL,
'pic' => '@'.$url,
'source' => $this->source,
]);
}
执行后返回的错误:
{"error":"unsupport mediatype (application/x-www-form-urlencoded)","error_code":10007,"request":"/2/statuses/upload.json"}
微博提供的演示代码:
function upload( $status, $pic_path, $lat = NULL, $long = NULL )
{
$params = array();
$params['status'] = $status;
$params['pic'] = '@'.$pic_path;
if ($lat) {
$params['lat'] = floatval($lat);
}
if ($long) {
$params['long'] = floatval($long);
}
return $this->oauth->post( 'statuses/upload', $params, true );
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你需要 multipart/form-data.
具体参考这个 gist