我创建了两个实体用于上传图片,一个用于我的文章(仅供我使用(,另一个用于我的用户的个人资料图片。我想设置大小限制和文件类型过滤器,两个实体都不同。
这是我的文件代码
/**
* @AssertFile(
* maxSize = "206k",
* maxSizeMessage = "Le fichier de doit pas faire plus que ..",
* mimeTypes = {"image/png", "image/jpg"},
* mimeTypesMessage = "Seul les formats ..."
* )
*/
private $file;
public function getFile() {
return $this->file;
}
public function setFile(UploadedFile $file): void {
$this->file = $file;
}
我仍然可以上传任何类型的文件,我唯一的大小限制是来自我的 php.ini
文件上传大小和 mime 类型检查适用于我使用 Symfony 4.3.1 和 Doctrine 和 MySQL。 两个更改是指定@ORMColumn
类型并将image/jpg
更改为image/jpeg
:
use DoctrineORMMapping as ORM;
use SymfonyComponentValidatorConstraints as Assert;
...
/**
* @ORMColumn(type="string", length=255, nullable=true)
*
* @AssertFile(
* maxSize = "206k",
* maxSizeMessage = "Le fichier de doit pas faire plus que ..",
* mimeTypes = {"image/png", "image/jpeg"},
* mimeTypesMessage = "Seul les formats ..."
* )
*/
private $file;
你也试过php bin/console cache:clear
吗并尝试php bin/console make:migration
检查实体和数据库是否同步?