/**
  * Uploads and extracts an archive, placing them in temporary nodes for handling.
  */
 public function uploadArchive()
 {
     $params = $this->Request->getParameters();
     $files = $this->Request->getUploadedFiles();
     try {
         $params['_uploadedFiles'] = $files;
         $nodes = $this->MediaService->uploadArchive($params);
         if (!is_array($nodes)) {
             $nodes = array($nodes);
         }
         // build output
         $output = array('totalRecords' => count($nodes), 'nodes' => array());
         foreach ($nodes as $node) {
             $c = $this->_buildNodeJSON($node, true, true);
             $output['nodes'][] = $c;
         }
         $this->sendJSON($output);
     } catch (Exception $e) {
         $this->sendExceptionError($e);
     }
 }