Symfony 2.1验证程序没有看到mime类型
我正在开发Symfony 2.1,其中我将图像添加到默认的fosUserBundle用户实体。 在我的实体之上,我有: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; /
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。我想,出于某种原因,您根本无法获取该文件。你什么时候倒垃圾?在装订表格之前还是之后?