【发布时间】:2013-12-18 08:42:19
【问题描述】:
我的 Symfony2 项目中有一个文件上传功能,我想验证上传的文件是 .tex 文件格式 => LaTex 文件。
对于文本/html,我使用的是:
$metadata->addPropertyConstraint('file', new Assert\File(array(
'maxSize' => '100000k',
'mimeTypes' => array("text/html"),
'mimeTypesMessage' => 'Please upload a valid HTM/HTML File',
)));
我正在尝试:
$metadata->addPropertyConstraint('file', new Assert\File(array(
'maxSize' => '100000k',
'mimeTypes' => array(
'text/html',
'application/x-tex',
'application/x-latex'
),
'mimeTypesMessage' => 'Please upload a valid HTM/HTML/TEX File',
)));
但是,一旦我上传 .tex 文件,我就会收到消息:
Please upload a valid HTM/HTML/TEX File.
如何在此处也添加 Tex 文件?谢谢。
【问题讨论】:
-
您是否启用了
php_fileinfo扩展?看看这里:stackoverflow.com/questions/12896222/… -
@Max,htm/html验证有效,而且它也是使用mime_type,所以应该启用它。
-
您可以确定:只需执行
phpinfo()并搜索fileinfo。如果您在列表中找到它,则它已启用。至少你可以划掉一个可能的问题。 -
谢谢。文件信息与版本 1.0.5-dev 一起存在
-
我几乎没有想法,但可能会查看文件验证器的源代码并尝试查看他是否获得了正确的文件 MIME 类型。请记住 MIME 类型只是一个建议,您不应过分依赖它。祝你好运!
标签: php validation symfony latex mime-types