2015-07-08 7 views
0

Я разместил свой сайт на экземпляре amazon ec2. Но я столкнулся с проблемой там, то есть, когда мы пытаемся отправить файлы/изображения через curl, он публикует только URL-адрес целевого URL-адреса, но нам нужно разместить содержимое изображения там. Для размещения изображения мы используем ниже данный код:Не удалось опубликовать файл через curl на экземпляре amazon ec2

$target_url = 'http://www.alvinmcbride.com/FaceReaderPOST/api/facereader/PostImage'; 
         $post = array('myImage'=>'@'.$frame_existing_path); 
         $curl = curl_init(); 
         curl_setopt($curl, CURLOPT_URL,$target_url); 
         curl_setopt($curl, CURLOPT_POST,1); 
         curl_setopt($curl, CURLOPT_POSTFIELDS, $post); 
         curl_setopt($curl, CURLOPT_RETURNTRANSFER,1); 
         $result=curl_exec ($curl); 
         curl_close ($curl); 

         $api_emotions_array[$frame_time] = json_decode($result, true);  

И в ответ на это дает сообщение «Invalid изображение» для каждого изображения. Поэтому, пожалуйста, предложите, если я делаю что-то неправильно. Поскольку тот же код отлично работает на других серверах, таких как общие/выделенные серверы.

+0

Какой веб-сервер? (Например, nginx, tomcat). Как выглядит код, который принимает POST? – tedder42

+0

Мы используем сервер apache для запуска php-кода на веб-сервере. И 52.25.217.134 - это частный IP-адрес в порту 88. Поэтому для доступа к веб-сайту используйте URL-адрес: http://52.25.217.134:88/user. –

ответ

0

использование curl_file_create() функция это работает для меня на Амазонке хостинг ..

$tmpfile = $_FILES['image']['tmp_name']; 
$filename = basename($_FILES['image']['name']); 
$filetype = $_FILES['image']['type']; 
$image_string =curl_file_create($tmpfile,$filetype,$filename); 

Обычно

$org_image_string = '@'.$tmpfile.';filename='.$filename; 

работа для меня на местном и другой сервер, но он не работает на Амазонка размещение сайта. поэтому я использую curl_file_create, и он хорошо работает :)

Смежные вопросы