Symfony使用sfValidatorFile Mime类型问题上传doc,docx文件

时间:2013-04-23 10:21:38

标签: file-upload symfony-1.4 mime-types

我正在使用sfValidatorFile类来允许用户在symfony 1.4中上传pdf或文档。 但它不使用文档,它返回mime类型的八位字节流,阻止上传文档。

我已尝试使用here提供的解决方案!

但不幸的是它没有用。这是我的代码。

'my_filename' => new sfValidatorFile(
              array ('required'=>false,
                     'mime_type_guessers' => array('guessFromFileinfo'),
                     'mime_types' =>  array ( 'application/pdf',
                                              'application/msword',
                                              'application/vnd.openxmlformats-
                                              officedocument.wordprocessingml.document',                
                                                  'application/vnd.ms-word',
                                                  'application/x-msword',
                                                  'application/msword;     charset=binary')) ,
                array( 'mime_types'=> 'only doc, docx and pdf files are allowed' )),

还尝试在同一链接上提供msValidatorFile类解决方案,但它也允许上传zip和rar。

有没有办法只允许上传pdf和文档?

1 个答案:

答案 0 :(得分:0)

在花了一些时间之后,我发现另一个解决方案在这里分享,这与系统无关。

使用PHP mime_content_type函数,即使手动更改了扩展名,我们也可以获得mime类型。虽然它没有工作在Linux许可证版本上的小错误。但仍然可以在其他平台上使用它。