3 день пытаюсь загрузить изображение в VK.
Делаю по мануалу
https://vk.com/dev/upload_files
1. получаю url для загрузки изображения
file_get_contents('
https://api.vk.com/method/photos.getWallUploadServ...'.$access_token);
2. отправляю пост на полученный url
$img_src = '4.png';
$imgbinary = fread(fopen($img_src, "r"), filesize($img_src));
$img_str = base64_encode($imgbinary);
$post_params = array(
"file1" => $img_str,
);
file_get_contents('
https://api.vk.com/method/photos.getWallUploadServ...'.$access_token);
$dataArray=json_decode($data);
$ch = curl_init( $dataArray->response->upload_url );
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params);
$response = curl_exec( $ch );
curl_close( $ch );
print_r($response);
Приходит в ответе пустой параметр photo
пример ответа
{"server":606321,"photo":"[]","hash":"afc01d1f75f443b30ff7b49254f642e1"}
Скажите, что не так.
В тех.поддержке vk ответили так
У нас поддерживается только загрузка файла напрямую, а не по адресу. Т.е. в file1 Вы должны передать массив байтов фотографии.