3

画像のバイト配列をjsonオブジェクトでWebサービスに送信しようとしていますが、リクエストがサーバーにヒットすることはありません。空の配列だけを送信すると、サーバーにヒットし、json 応答が返されます。以下は私のコードです。このコードの問題点

<?php 


header('Content-type: application/json');
//Read an image from third party URL
$contents= file_get_contents('http://i2.cdn.turner.com/cnn/dam/assets/120612031415-granderson-speech-c1-main.jpg');
$byteArr = str_split($contents);
foreach ($byteArr as $val) 
{ 
 $points[] = ord($val); 
}
$output = join (" " , $points);
//echo($output);
//If i use "photo"=>[] in below array it works fine
$jsonArray = array("comments"=>"Hiee", "type"=>"test", "photo"=>[$output],"custid"=>"test@test.com");
$buzz = json_encode($jsonArray);
try {
//Webservice call to store the image in DB and send mail
$jsonResponse = @file_get_contents("http://localhost/example/json.htm?action=sendBuzzRequest&email=test@test.com&pass=test1234&buzz=".$buzz);
echo ($jsonResponse);
} catch(Exception $e)
{
 $e->getMessage();
}
?>

あなたの助けは非常に高く評価されています.

4

2 に答える 2

2

これで問題が解決する場合、私は海岸ではありませんが、URL はエンコードされていません。最初にそれを試すことができます。

$jsonResponse = @file_get_contents("http://localhost/example/json.htm?action=sendBuzzRequest&email=test%40test.com&pass=test1234&buzz=" . urlencode($buzz));
于 2012-06-14T11:53:22.097 に答える
1

コメントによると、おそらくGETリクエストの最大サイズに達しているようです..

その種の仕様は、POST または PUT リクエストにより適しているように見えます..

GET サイズ要求の制限については、この SO の質問を参照してください: HTTP GET 要求の最大長?

于 2012-06-14T23:35:28.650 に答える