Cómo subir una imagen codificada en base64 en codeigniter

Tengo una cadena de imagen codificada en base64 $imgcode que es una imagen codificada en base64, y quiero subirla usando codeigniter.

Esto es lo que estoy haciendo –

 $this->Photo_model->uploadPhoto($userdir,base64_decode($imgCode) 

La función uploadPhoto es esta:

 public function uploadPhoto($path,$img){ //echo $img; //echo $path; $config['upload_path'] = $path; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = '1000'; $config['max_width'] = '1024'; $config['max_height'] = '768'; $this->load->library('upload', $config); if(!$this->upload->do_upload($img)){ return FALSE; } else{ $fInfo = $this->upload->data(); $this->createThumbnail($fInfo['file_name'],$fInfo['file_path']); $this->load->model('Photo_model'); if($this->Photo_model->savePhotoInfo($fInfo['file_name'],$path)){ return true; } else{ return false; } } } 

La imagen no se sube. ¿Es esta la manera correcta?

Ha habido informes de varios tipos de fallas cuando se utiliza el codificador base64 para decodificar archivos de gran tamaño. Puedes ver más sobre los problemas aquí http://www.php.net/manual/en/function.base64-decode.php#105512

Recomiendo dividir la cadena como esta $decodedstring=base64_decode(chunk_split($encodedstring));