首页 > 解决方案 > 将参数从 Controller 传递给 Doctrine EventListener

问题描述

我正在阅读本教程以设置 Doctrine EventListener 以在实体中上传和编辑文件:https ://ourcodeworld.com/articles/read/603/how-to-configure-a-file-uploader-for-a-single- symfony-3-3 中的现场学说实体

我想将动态参数从控制器传递给服务。我修改了 FileUploader 以提供来自控制器的路径和文件名。但我无法从 DoctrineEventListener 获取这些参数。

我的文件上传器:

    /**
 * @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.';
    }

}

我的其余代码与教程中的相同。

标签: phpsymfonydoctrine

解决方案


推荐阅读