微社区开放平台传图接口遇到的问题
最近在基于微社区开放平台接口开发一个应用,遇到传图接口的问题。
代码如下:
$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);