Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 2.1验证程序没有看到mime类型_Symfony_Symfony Forms - Fatal编程技术网

Symfony 2.1验证程序没有看到mime类型

Symfony 2.1验证程序没有看到mime类型,symfony,symfony-forms,Symfony,Symfony Forms,我正在开发Symfony 2.1,其中我将图像添加到默认的fosUserBundle用户实体。 在我的实体之上,我有: use FOS\UserBundle\Entity\User as BaseUser; use Doctrine\ORM\Mapping as ORM; use Symfony\Component\Validator\Constraints as Assert; use Symfony\Component\HttpFoundation\File\UploadedFile; /

我正在开发Symfony 2.1,其中我将图像添加到默认的fosUserBundle用户实体。 在我的实体之上,我有:

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\HttpFoundation\File\UploadedFile;

/**
* @ORM\Entity
* @ORM\HasLifecycleCallbacks
* @ORM\Table(name="users")
*/
class User extends BaseUser
接下来是有关领域:

/**
* @ORM\Column(nullable=true)
* @Assert\File(maxSize="5M", mimeTypes={"image/gif", "image/jpeg", "image/png"})
*/
protected $promo;
我得到的错误是文件的mime类型无效(“”)。允许的mime类型有“image/gif”、“image/jpeg”、“image/png”。

奇怪的是,当我使用var_dump
$this->promo->getClientMimeType()
时,我整洁地得到了
image/jpeg
。。。 因此,出于某种原因,验证器在错误的位置查找


有人知道这可能是什么原因吗?

事实证明,在php中安装
php\u fileinfo
扩展是至关重要的。 没有它,验证器就无法验证您的文件,因为它使用了
uploadedFile
中的
guessExtion()
方法


这解决了我的问题。但是,在共享主机上,这可能会导致问题,因为您可能无法启用php_fileinfo。

我想,出于某种原因,您根本无法获取该文件。你什么时候倒垃圾?在装订表格之前还是之后?