Загруженный файл, фильтр типа файла - PullRequest
0 голосов
/ 18 июня 2019

Я создал два объекта для загрузки изображений: один для моих статей (используется только мной) и один для аватарки моих пользователей.Я хочу установить ограничение размера и фильтр типа файла, различный для обеих сущностей.

Вот мой код для файла

    /**
     * @Assert\File(
     *     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

1 Ответ

0 голосов
/ 19 июня 2019

Проверка размера загружаемого файла и типа MIME работает для меня, используя Symfony 4.3.1 с Doctrine и MySQL.Два изменения должны указать тип @ORM\Column и изменить image/jpg на image/jpeg:

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

...

/**
 * @ORM\Column(type="string", length=255, nullable=true)
 *
 * @Assert\File(
 *     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, чтобы проверить, находятся ли сущности и база данныхсинхронизировать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...