Я пытаюсь загрузить изображения с помощью TelegramBot API, используя следующий кодTelgram Bot Bad Gateway
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
. Использую ли я правильный метод? У меня нет проблем с получением getMe с использованием API.
P.S Я использую Guzzle 5.3.0 для совместимости с php.
Я использую Guzzle 5.3. Опция Multipart доступна только в последней версии. Я использую старую версию для использования php. –
http://guzzle3.readthedocs.org/http-client/request.html См. Раздел «Запросы POST». API Telegram требует, чтобы вы загружали фотографии в multipart/form-data – Pete
Посмотрите, как вы редактируете, вы должны передать дескриптор файла, а не содержимое файла. –