Загрузка изображения с помощью PHP curl с параметрами дает '415' - PullRequest
1 голос
/ 27 июня 2011

Это описание того, что мне нужно сделать (я знаю, что это расплывчато, но это все, что я получил) :

Изображения можно загрузить, отправив запрос HTTP PUT наURI изображения.Тело запроса должно содержать данные изображения или, если актуальна дата последнего изменения изображения, документ XML или JSON, обертывающий изображение.В последнем случае корневой узел XML должен называться «изображением», и он должен содержать узлы «lastModified» (с указанием даты в качестве метки времени Unix) и «данные», содержащие данные изображения.Представление JSON должно содержать два значения как поля объекта.Тип содержимого должен быть «application / x-www-form-urlencoded», и запрос должен включать в себя параметры формы файла, размер файла, имя файла, каталог и последнее изменение.Ответом будет ActionResponse, и он проинформирует Клиента о любых проблемах, которые могут возникнуть при попытке загрузки.

На данный момент это мой код :

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);
}

Этот код заканчивается тем, что выдает мне следующую ошибку:

HTTP/1.1 415 Unsupported Media Type

Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 24 августа 2011

В вашем описании говорится, что вы должны отправить HTTP PUT, но ваш пример отправляет многокомпонентную формпост с использованием POST.

В описании также упоминается использование XML и JSON, хотя ваш код, похоже, даже не пытается это сделать.

...