我正在验证我的一个表单,我需要检查上传的文件是否为pdf。我尝试在表单中使用File约束,但它仍然让我传递不是pdf(例如.txt)的东西。如何检查上传的文件是否是Symfony 2中的pdf
我这样做是错误的还是应该使用其他方法来做到这一点?
我的形式:
<?php
namespace AdminBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Validator\Constraints\File;
Class FormUpdateCV extends AbstractType
{
public function buildForm(FormBuilderInterface $constructeur, array $options)
{
$format_fichier=new File(array(
'mimeTypes'=>'application/pdf',
'mimeTypesMessage'=>'Le fichier doit être un pdf'
));
$constructeur
->add('CV','file',array('label'=>'C.V.:', 'constraints'=>array($format_fichier)))
->add('mettreAJour','submit',array('label'=>'Mettre à jour'));
}
public function getName()
{
return 'update_CV';
}
}
它看起来真的很有意思,但我没有生物文件的实体,我只是上传它,所以它需要在表单验证中完成。 –
尝试了一些东西后,似乎我以前的情况确实起作用。只是如果我有,例如.pdf文件,并选择将扩展名更改为.txt,它仍将它识别为.pdf,但它仍然会改变我的控制器中的扩展名,所以它是o.k.另一方面,如果我为.pdf更改了一个.txt,它仍然会将该文件识别为.txt,这是很好的,因为该文件无论如何都会读取。但我仍然有一个问题,什么是x-pdf格式? –