我正在阅读本教程,以设置一个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.';
}
}
我其余的代码与本教程中的代码相同。