Загрузка файла форм symfony Проверка не работает для документа MS Word

Я использую 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).


person Harish Kurup    schedule 10.01.2011    source источник


Ответы (1)


Не совсем уверен, но я думаю, что для новых документов Office 2007 Word требуется другой тип MIME:

application/vnd.openxmlformats-officedocument.wordprocessingml.document

(добавьте это в свой массив для проверки)

Я считаю, что второй предназначен для более старых версий слов.

Вот некоторые материалы по теме: http://www.vladville.com/2007/04/office-2007-mime-types-for-apache.html

person Tom    schedule 10.01.2011
comment
он не работает, выдает ошибку Недопустимый тип пантомимы (текст / простой) при загрузке файла MsDoc! - person Harish Kurup; 12.01.2011
comment
Это может помочь: blog.oxt.com/2009/07/27/ - person Tom; 12.01.2011
comment
спасибо @Tom это сработало! то, что я сделал, было обновлено до PHP 5.3.4, и он начал работать. - person Harish Kurup; 14.01.2011