【问题标题】:symfony forms file upload Validation not working for Ms Word Documentsymfony 表单文件上传验证不适用于 Ms Word 文档
【发布时间】:2011-01-10 09:41:05
【问题描述】:

我使用 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))
    ));

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

【问题讨论】:

    标签: symfony1 symfony-1.4 symfony-forms


    【解决方案1】:

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

    application/vnd.openxmlformats-officedocument.wordprocessingml.document
    

    (将其添加到您的数组中进行测试)

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

    这里有一些相关阅读:http://www.vladville.com/2007/04/office-2007-mime-types-for-apache.html

    【讨论】:

    • 当我上传 MsDoc 文件时出现错误“无效的 mime 类型(文本/纯文本)”!
    • 这可能会有所帮助:blog.o-x-t.com/2009/07/27/…
    • 谢谢@Tom 成功了!我所做的是,升级到 PHP 5.3.4 并开始工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    • 2018-10-28
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 2011-09-15
    • 2017-05-19
    相关资源
    最近更新 更多