symfony 4在字符串

时间:2018-03-24 17:30:37

标签: upload symfony4

我正在使用symfony 4并且我正在尝试上传图片,但我遇到了这个错误'调用字符串上的成员函数guessExtension()':(。 我已经确定mimeTypes是正确的但是当我调试时我得到了这个“这个文件不是有效的图像。”

班级组的一部分:

 /**
 * @var string
 * @ORM\Column(type="string",name="logo",length=255)
 * @Assert\NotBlank(message="Please, upload the logo as a PNG file.")
 * @Assert\Image(mimeTypes={" image/png "})
 */
private $logo="";

函数newGroup of GroupController

  public function newGroup(Request $request)
{
    $group = new Group();
    $action = $this->generateUrl('new_group');
    $form = $this->createForm(GroupType::class, 
    $group,array('method'=>'POST', 'action'=>$action));
    $form->add('save', SubmitType::class, array('label'=>'Save'));

    $form->handleRequest($request);
    if(  $form->isSubmitted()  )
    {
        /**
         * @var UploadedFile $file
         */
        $file = $group->getLogo();
        $fileName = $this->generateUniqueFileName().'.'.$file->guessExtension();
        $file->move(
         $this->getParameter('logos_directory'),$fileName);
        $group->setLogo($fileName);
        $em = $this->getDoctrine()->getManager();
        $em->persist($group);
        $em->flush();
    }
    return $this->render('admin/group/new.html.twig', array('form'=>$form->createView()));
}

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

如果您使用过Form,请替换

$file = $group->getLogo(); 

类似

$file = $form->get('image_name');