簡體   English   中英

為什么$ file在自定義symfony文件驗證器中為空?

[英]Why is $file empty in custom symfony file validator?

我正在為Symfony 1.4(Doctrine)中的文件輸入字段設置自定義文件驗證器

$this->setValidator('filename', new sfValidatorFile(array(

'mime_types' => 'web_images',
'path' => sfConfig::get('sf_upload_dir').'/animals',
'validated_file_class' => 'CustomValidatedFile',
'required' =>false
))); 

然后,我想覆蓋save方法以生成一些縮略圖:

class CustomValidatedFile extends sfValidatedFile {

private $savedFilename;

// Override sfValidatedFile's save method
  public function save($file = null, $fileMode = 0666, $create = true, $dirMode = 0777)                 {

$this->savedFilename = $this->generateFilename();
// This makes sure we use only one savedFilename (it will be the first)
if ($this->savedFilename === null ) {

$this->savedFilename = $file;
}

$thumbnail = new sfThumbnail(150,150);
$thumbnail->loadFile($this->getTempName());
$thumbnail->save(sfConfig::get('sf_upload_dir').'/thumbnails/thumb_'.$this->savedFilename);
// Let the original save method do its magic :)

return parent::save($this->savedFilename, $fileMode, $create, $dirMode);
  }
  }

這將失敗,並顯示錯誤“文件“”不可讀”。 這來自sfThumbnailPlugin,因為$ file的值為空。

我的問題是為什么$ file為null?

我認為這是因為$ file還不存在-在此階段僅存在一個臨時文件,可以通過$ this-> getTempName()進行訪問

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM