2011-02-18 3 views
2

sfWidgetFormInputFile 필드가있는 폼이 있습니다. 이미지를 업로드하고 있는데 업로드 한 후 방금 업로드 한 파일을 처리하고 싶습니다.심포니 1.4 파일을 폼에 업로드 한 후 DB로 데이터를 보내지 않지만 파일을 디스크에 저장합니다.

나는 이것을 위해 validated_file_class를 사용할 수 있음을 알고 있습니다. 내 사용자 지정 클래스에서 save() 메서드를 덮어 쓰는 중이고 파일이 올바르게 저장되지만 데이터베이스에 저장되지 않으면 파일 이름 필드에 null 값을 보냅니다. 내가 놓친 게 있니? 여기

은 관련 코드입니다 : 나는 그것을 가지고,

class MyForm extends BaseMyForm 
{ 
    public function configure() 
    { 
    $this->widgetSchema['image'] = new sfWidgetFormInputFile(); 
    $this->validatorSchema['image'] = new sfValidatorFile(array(
             'required' => true, 
             'path' => sfConfig('sf_upload_dir'), 
             'mime_types' => 'web_images', 
             'validated_file_class' => 'MyCustomValidatedFile' 
                 )); 
    } 
} 

class MyCustomValidatedFile extends sfValidatedFile 
{ 
    public function save($file = null, $fileMode = 0666, $create = true, $dirMode = 0777) 
    { 
    parent::save($file, $fileMode, $create, $dirMode); 
    } 
} 

답변

0

좋아 ... 난 그냥 저장() 메소드의 return 문을 실종됐다

... 그것은 이름을 반환한다 방금 경로 접두사없이 저장 한 파일의

$fn = parent::save($file, $fileMode, $create, $dirMode); 
//processing 
return $fn;