我尝试使用下面的代码Telgram博特错误网关
if(file_exists($_FILES['fileToUpload']['tmp_name'])){
$new = fopen($_FILES['fileToUpload']['tmp_name'], "rb");
$contents = fread($new, $_FILES['fileToUpload']['size']);
fclose($new);
$client = new Client();
$response = $client->post("https://api.telegram.org/botMyApiKey/sendPhoto", [
'body' => ['chat_id' => '11111111', 'photo' => $contents]
]);
var_dump($response);
}else{
echo("No File");
}
我得到Nginx 502 Bad Gateway
使用TelegramBot API上传图片。我使用正确的方法吗?我在使用API获取getMe时没有问题。
P.S我使用Guzzle 5.3.0进行php兼容。
我正在使用Guzzle 5.3。多部分选项仅在最新版本中可用。我使用旧的guzzle版本来兼容php。 –
http://guzzle3.readthedocs.org/http-client/request.html请参阅“POST请求”一节。电报API要求你上传照片的多部分/表格数据 – Pete
看我编辑,你必须通过文件句柄,而不是文件内容。 –