2012-02-08 13 views
1

(Uploadify 2.1.4 사용) Symfony2에서 AJAX 요청을 통해받은 텍스트 파일을 업로드하고 싶습니다. 액션에서 어떻게 처리 할 수 ​​있습니까? official docs에 대한 정보를 찾았지만 찾고있는 정보가 아닌 것 같습니다.Symfony2 : 파일 업로드 플러그인을 사용하여 파일 업로드

$adapter = new Zend_File_Transfer_Adapter_Http(); 
    $adapter->setFilters(array(
     'Rename' => array(
      'target' => sprintf('%s/%d_%s', Zend_Registry::get('config')->uploads->uploadPath, time(), $adapter->getFileName(null, false), 'UTF-8'), 
      'overwrite' => true, 
     ), 
    )); 
    try 
    { 
     $adapter->receive(); 
    } 
    catch (Zend_File_Transfer_Exception $e) 
    { 
     throw new Zend_Controller_Action_Exception(sprintf('Bad file: %s', $e->getMessage())); 
    } 

답변

6

나는 다음과 같은 간단한 해결책을 발견 : 예를 들어

, 나는 젠드 프레임 워크에서이 방법으로 이러한 상황을 처리. 어쩌면 누군가에게 도움이 될지도 모릅니다.)

프론트 엔드 부분 :

$('#upload-file').uploadify(
    { 
     script:   '/upload-file', 
     folder:   '/uploads', 
     method:   'POST', 
     uploader:  '/bundles/mybundle/flash/uploadify.swf', 
     cancelImg:  '/bundles/mybundle/images/cancel.png', 
     buttonImg:  '/bundles/mybundle/images/upload.png', 
     width:   48, 
     height:   48, 
     auto:   false, 
     queueID:  'fileQueue', 
     wmode:   'transparent', 
     fileDataName: 'uploaded_file', 
     fileDesc:  'Text File (*.txt)', 
     fileExt:  '*.txt', 
     sizeLimit:  8000000, 
     multi:   true, 
     simUploadLimit: 3, 
     onError:  function (event, id, fileObj, errorObj) 
     { 
      console.log(errorObj.type + ' Error: ' + errorObj.info); 
     } 
    }); 

는 백엔드 부분 :

public function uploadFileAction() 
{ 
    $request = $this->getRequest(); 
    $destination = preg_replace('/app$/si', 'web' . $request->request->get('folder'), $this->get('kernel')->getRootDir()); 
    $uploadedFile = $request->files->get('uploaded_file'); 

    $uploadedFile->move($destination, $uploadedFile->getClientOriginalName()); 

    return new Response(1); 
} 

는 문제가 폐쇄!

+0

불행히도 솔루션의 유효성 검사가 부족합니다. 아마 나 한테 뭔가 줄 수있을거야. 감사! –

+0

누군가 관련 부품으로 이것을 단순화 해 줄 수 있습니까? 감사! –