Получение файлов в веб-службе REST с помощью запроса POST

Я пытаюсь получить файлы, выполняющие POST-запрос к действию. Веб-сервис работает нормально, но я не могу получить этот файл «как есть». Cake автоматически преобразует $this->request->data в массив, а это не то, что мне нужно. Мне нужно сохранить этот файл в столбце BLOB в моей базе данных.

Пожалуйста помогите!!!

Заранее спасибо за вашу помощь!!

это мой код контроллера, я на CakePHP 2.1.0:

class TransfersController extends AppController {
public $name = 'Transfers'; 
public $components = array('RequestHandler');

public function record($rfc = null, $numop = null, $source = null) {        
    if ($this->request->is('post')) {
        if (strlen($rfc) > 0) {             
            if ($numop > 0) {
                $this->loadModel('Client');
                $client = $this->Client->findByRfc($rfc);
                if (!empty($client)) {
                   if ($client['Client']['enabled'] == 1) {
                        // unknown way to get the received file                         

                        $this->Transfer->set('client_id', $client['Client']['id']);                             
                        $this->Transfer->set('num_operacion', $numop);
                        $this->Transfer->set('source', $source);
                        // $this->Transfer->set('xml', $this->request->data);
                        if ($this->Transfer->save($this->request->data)) {
                            //$message = 'Ok';
                            $message = $data;
                        } else {
                            $message = 'No se pudo registrar la transmisión';
                        }
                    } else {
                        $message = 'Su cuenta ha sido suspendida. Póngase en contacto con nostros para resolver éste inconveniente.';
                    }
                } else {
                    $message = 'El RFC ' . $rfc . ' no está registrado';
                }
            } else {
                $message = 'El número de operación no es válido';
            }
        } else {
            $message = 'El RFC no es válido';
        }
    } else {
        $message = 'La petición es inválida';
    }
    $this->set('message', $message);
}
}

person darkangel    schedule 23.06.2012    source источник
comment
Вы хотите сохранить массив запросов в БД? что вы, мужики, -мне нужно сохранить этот файл .. ??   -  person Eswar Rajesh Pinapala    schedule 23.06.2012
comment
Я хочу сохранить файл как двоичные данные, а не массив. Запись действия позволит загрузить файл в базу данных через веб-сервис.   -  person darkangel    schedule 23.06.2012


Ответы (1)


Для тех, у кого есть такой же вопрос, я мог бы работать с полученным файлом, используя:

$this->request->input();
person darkangel    schedule 25.06.2012