2014-12-25 3 views
0

Я создал этот код для извлечения данных из приложения для Android. после извлечения json-данных я их декодирую, а затем получаю ключевую переменную, которая является базовым кодом 64 образа и переменной ori_name, которая является именем изображения. после этого я создаю файл изображения на стороне сервера из кода базы 64 и сохраняю файл на сервере. если изображение хранится на сервере, тогда iam сохраняет имя изображения и путь изображения в одной базе данных. когда я выполняю этот код с помощью приложения для Android, он возвращает только nil на стороне android. есть ли какое-либо решение для извлечения данных? и обратите внимание, что приложение для Android разработано моим другом, который использует мою созданную службу. он получает нулевое значение, когда он его использует. пожалуйста, помогите мне решить эту проблему.Я пытаюсь получить данные json post из приложения android для веб-службы php, но он не может получить. ниже показан код, который я использовал

<?php 
//process client request(via URL) 
header("content-Type:application/json"); 
$data=$_REQUEST['jdata'];//request json data 
$imgdata=json_decode($data);//decode json data 
$basecode=$imgdata->{'key'};//fetch base64 code of image 
$imgname=$imgdata->{'ori_name'};//fetch image name 
$response=get_url($basecode,$imgname);//cal function for store image at server 
return deliver_response($response); 
function deliver_response($status) 
{ 
header("HTTP/1.1"); 
$response['status']=$status; 
$json_response=json_encode($response); 
return $json_response;//return json response to android app 
} 
function get_url($basecode,$imgnm) 
{ 
$decoded= base64_decode($basecode);//convert base 64 code to string format 

$location=$_SERVER['HTTP_HOST']."/Clients/krishinternational/MobileService/images/".$imgnm; 
$output_file="../images/".$imgnm;//define output file location 
$ifp = fopen($output_file, "wb"); //create file 
    $rs=fwrite($ifp, $decoded); //write image in file 
    if($rs!=False)//check weather file is written or not 
    { 
     fclose($ifp); 
     $conn =mysqli_connect('host','user','password','db_name');//creating database connection 
     if ($conn->connect_error) 
     { 
     die("Connection failed: " . $conn->connect_error); 
     } 


     $query="insert into tblimage values('".$imgnm."','".$location."')";//query to store image path in database 
     if ($conn->query($query) === TRUE) 
     { 
     //echo "New record created successfully";        
     mysqli_close($conn); 
     return True;//if successfully inserted then return true 
     }   
     else 
     { 
     return False;//if not succeed then return false 
     } 
     } 
     else 
     { 
     return False; 
     } 
    } 
    ?> 
+0

Пробовали ли вы хром клиента REST, чтобы проверить реакцию –

+0

, как я могу проверить это? Я использую браузер Mozilla Firefox. –

+0

спасибо за предложение остального клиента. Я не знаю, как передать данные json в клиенте отдыха. Я пользуюсь клиентом для отдыха mozill firefoz. поэтому, пожалуйста, помогите мне, как передавать данные типа json –

ответ

0

Спасибо Indra Я получил результаты тестирования клиента Rest. ошибка заключалась в том, что я запрашиваю данные json из приложения для Android, но на самом деле я должен использовать file_get_contents.

$input=file_get_contents("php://input"); 

благодаря Индра