Получавайте файлове в уеб услуга 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
Искате ли да запазите масива от заявки в DB? какво правите вие ​​- трябва да запазя този файл .. ??   -  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