我正在使用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()));
}
有人可以帮我吗?
答案 0 :(得分:0)
如果您使用过Form,请替换
$file = $group->getLogo();
类似
$file = $form->get('image_name');