symfony表单文件上载验证不适用于Word文档

时间:2011-01-10 09:41:05

标签: symfony1 symfony-1.4 symfony-forms

我使用Symfony 1.4和Propel作为ORM。我使用Symfony表创建了一个表单,其中包含一些文本输入和文件上传元素。 表单结构,

$this->setWidgets(array(
            'name'            =>new sfWidgetFormInput(),
            'mobile'          =>new sfWidgetFormInput(),
            'resume'          =>new sfWidgetFormInputFile()
    ));
$mime_array=array("application/pdf","application/msword");
$this->setValidators(array(
             'name'            =>new sfValidatorString(array('required' => true)),
             'mobile'          =>new sfValidatorAnd(array(new sfValidatorNumber(),new sfValidatorString(array('required' => true, 'min_length' => 10, 'max_length' => 10)))), 
             'resume'          =>new sfValidatorFile(array('mime_types' => $mime_array))
    ));

但文件上传验证不适用于Word文件,但适用于PDF文件(因为用户可以上传PDF或Ms Word文档)。

1 个答案:

答案 0 :(得分:2)

不完全确定,但我认为新的Office 2007 word文档需要不同的mime类型:

application/vnd.openxmlformats-officedocument.wordprocessingml.document

(将其添加到您的阵列中进行测试)

我相信另一个版本适用于较旧的单词版本。

以下是一些相关的阅读:http://www.vladville.com/2007/04/office-2007-mime-types-for-apache.html