微社区开放平台传图接口遇到的问题

最近在基于微社区开放平台接口开发一个应用,遇到传图接口的问题。

代码如下:

$pic = SAE_TMP_PATH . time() . uniqid() . '.png';
file_put_contents($pic, $picData);

$data = array(
    'appToken' => $appToken,
    'sId' => $sId,
    'accessToken' => $accessToken,
    'pic' => '@' . $pic,
);

$url = '/v1/thread/upload';

return $this->request($url, self::METHOD_POST, $data); // 发起curl请求

请求结果一直返回“图片类型不允许”的报错。

排查一番后发现是由于未指定文件的MIME类型导致,将代码改为下面的调试通过。

$pic = SAE_TMP_PATH . time() . uniqid() . '.png';
file_put_contents($pic, $picData);

$data = array(
    'appToken' => $appToken,
    'sId' => $sId,
    'accessToken' => $accessToken,
    'pic' => '@' . $pic . ';type=image/jpeg',
);

$url = '/v1/thread/upload';

return $this->request($url, self::METHOD_POST, $data);

标签: 微社区

添加新评论