Запрос PUT PUT данных из нескольких частей?

Я пишу RESTful API. У меня проблемы с загрузкой изображений с использованием разных глаголов.

Учтите:

У меня есть объект, который можно создать / изменить / удалить / просмотреть с помощью запроса на публикацию / размещение / удаление / получение по URL-адресу. Запрос состоит из нескольких частей, когда есть файл для загрузки, или application / xml, когда нужно обработать только текст.

Для обработки загрузки изображений, связанных с объектом, я делаю что-то вроде:

    if(isset($_FILES['userfile'])) {
        $data = $this->image_model->upload_image();
        if($data['error']){
            $this->response(array('error' => $error['error']));
        }
        $xml_data = (array)simplexml_load_string( urldecode($_POST['xml']) );           
        $object = (array)$xml_data['object'];
    } else {
        $object = $this->body('object');
    }

Основная проблема здесь заключается в попытке обработать запрос на размещение, очевидно, что $ _POST не содержит данных размещения (насколько Я могу сказать!).

Для справки, вот как я создаю запросы:

curl -F userfile=@./image.png -F xml="<xml><object>stuff to edit</object></xml>" 
  http://example.com/object -X PUT

Есть ли у кого-нибудь идеи, как я могу получить доступ к переменной xml в моем запросе PUT?

12
задан Josh 27 February 2012 в 14:49
поделиться