Я читаю это руководство по настройке Doctrine EventListener для загрузки и редактирования файла в сущности: https://ourcodeworld.com/articles/read/603/how-to-configure-a-file-uploader-for-a-single-field-doctrine-entity-in-symfony-3-3
Я хочу передать динамические параметры из контроллера в сервис. Я изменил FileUploader, чтобы дать путь и имя файла от контроллера. Но я не могу получить эти параметры из DoctrineEventListener.
Мой FileUploader:
/**
* @param UploadedFile $file
* @param string $name
* @return string $fileName
*/
public function getUniqueName(UploadedFile $file, $name) {
$fileName = $name.'_'.md5(uniqid()).'.'.$file->guessExtension();
return $fileName;
}
/**
* @param UploadedFile $file
* @param string $targetDir
* @param string $name
* @return string
*/
public function uploadImage(UploadedFile $file, $targetDir, $name)
{
$fileName = $this->getUniqueName($file, $name);
if ($file->guessExtension() == 'gif' || $file->guessExtension() == 'jpeg' ||
$file->guessExtension() == 'pjpeg' || $file->guessExtension() == 'png')
{
$file->move($targetDir, $fileName);
return $fileName;
}
else {
return 'Type de photo non supporté. Veuillez choisir un fichier .png ou .jpg.';
}
}
Остальная часть моего кода такая же, как в учебнике.