【问题标题】:Symfony 2.1 validator does not see mime-typeSymfony 2.1 验证器看不到 mime-type
【发布时间】:2012-10-15 13:03:47
【问题描述】:

我正在开发 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;

我得到的错误是The mime type of the file is invalid (""). Allowed mime types are "image/gif", "image/jpeg", "image/png".

奇怪的是,当我 var_dump $this->promo->getClientMimeType() 时,我巧妙地得到了 image/jpeg... 那么由于某种原因,验证器正在寻找错误的位置?

有人知道是什么原因造成的吗?

【问题讨论】:

  • 我想,出于某种原因,您根本没有得到文件。你什么时候转储?装订前还是装订后?

标签: symfony symfony-forms


【解决方案1】:

事实证明,在您的 php.ini 中安装 php_fileinfo 扩展是至关重要的。 没有它,验证器可以使用来自uploadedFileguessExtion() 方法来验证您的文件。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 2012-10-17
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    相关资源
    最近更新 更多