2011-06-27 4 views
1

これは私が(私はそれが曖昧だけど、それは私が得たすべてです)何をする必要があるかを説明する与える:アップロード画像は、「415」は

画像が送信することにより、アップロードすることができますHTTP URIへのPUT要求リクエストの本文にはイメージデータが含まれているか、イメージの最終変更日が関係する場合は、イメージをラップするXMLまたはJSONドキュメントが含まれている必要があります。後者の場合、XMLルートノードは "image"と呼ばれ、 "lastModified"(Unixタイムスタンプとして日付を指定する)ノードとイメージデータを含む "data"ノードを含む必要があります。 JSON表現には、オブジェクトフィールドとして2つの値を含める必要があります。 コンテンツタイプは "application/x-www-form-urlencoded"で、要求にはフォームパラメータfilesize、filename、dir、およびlastmodifiedを含める必要があります。このレスポンスはActionResponseであり、アップロードが試行された場合に発生する可能性のある問題についてクライアントに通知します。

これは私のコードは、これまでです:

HTTP/1.1 415 Unsupported Media Type 

誰も助けることができる:

function addImage($path) { 
    global $serviceURL; 
    global $curlhandle; 

    $request_headers = array("X-Requested-With: XMLHttpRequest", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8"); 

    curl_setopt($curlhandle, CURLOPT_POSTFIELDS, $request_param); 
    curl_setopt($curlhandle, CURLOPT_HTTPHEADER, $request_headers); 
    curl_setopt($curlhandle, CURLOPT_PUT, 1); 
    curl_setopt($curlhandle, CURLOPT_URL, $serviceURL."image/".$path); 
    $post = array(
     "file_box" => "@/Users/steven/Desktop/test.jpg" 
    ); 
    curl_setopt($curlhandle, CURLOPT_POSTFIELDS, $post); 
    $data=curl_exec($curlhandle); 
    var_dump($data); 
} 

このコードは私に次のエラーを与えることで終わりますか?

+0

ファイルのアップロードは、通常、すべてのものの周りにMIMEラッパーを置く 'multipart/form-data'コンテンツタイプで行われます。 application/url-encodedは、ファイルを持たないプレーンフォーム用です。 –

答えて

0

HTTP PUTを送信する必要がありますが、POSTを使用して複数のフォームフォームを送信すると説明しています。

説明ではXMLとJSONを使用しているが、コードでもそれを行おうとしていないようだ。