Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 一个简单的图像上传_Php_Symfony_Orm_Doctrine Orm - Fatal编程技术网

Php 一个简单的图像上传

Php 一个简单的图像上传,php,symfony,orm,doctrine-orm,Php,Symfony,Orm,Doctrine Orm,我是Symfony的新手,在我的一个表单中添加了一个简单的图片上传时,我偶然发现了一个问题 ## DefaultController.php ## /** * @Route("/admini/articleadd", name="articleadd") */ public function articleAdd(Request $request){ $article = new Article(); $form = $this->createFormBuilder($a

我是Symfony的新手,在我的一个表单中添加了一个简单的图片上传时,我偶然发现了一个问题

 ## DefaultController.php ##
 /**
 *   @Route("/admini/articleadd", name="articleadd")
 */
 public function articleAdd(Request $request){
 $article = new Article();
 $form = $this->createFormBuilder($article)
    ->add('title', TextType::class, array('attr' => array('maxlenght' => 14)))
    ->add('text', TextareaType::class)
    ->add('image', FileType::class)
    ->add('add', SubmitType::class, array('label' => 'Create Article'))
    ->getForm();
 $form->handleRequest($request);
 if ($form->isSubmitted() && $form->isValid()) {
        $article = $form->getData();
        /** @var Symfony\Component\HttpFoundation\File\UploadedFile $file */
 $file = $article->getImage();
 $fileName = md5(uniqid());
 $file->move(
            $this->getParameter('image_directory'),
            $fileName
        );
 $article->setImage($fileName);
 $em = $this->getDoctrine()->getManager();
 $em->persist($article);
 $em->flush();
 return $this->redirectToRoute('login');
}
return $this->render('default/articleadd.html.twig', array(
        'form' => $form->createView(),
        ));
}

 #Article.php

 use Doctrine\ORM\Mapping as ORM;
 use Symfony\Component\Validator\Constraints as Assert;

 /**
 * @ORM\Entity
 * @ORM\Table(name="Article")
 */
 class Article
 {   //...// 
     /**
     * @ORM\Column(type="string")
     * @Assert\File(mimeTypes={ "image/jpeg" })
     */
    private $image;
    //...//
 }
因此,每当我尝试提交表单时,我都会收到以下信息:

致命错误:调用null上的成员函数move()

显然,“$file=$article->getImage()”返回为null?

我建议使用,如果您想了解更多有关symfony中文件上载的信息,可以阅读相关内容

至于您的问题,表单中的image字段似乎为null/空,这可能表明您忘记添加到vich设置的表单中,但我不确定默认文件类型:class

<form enctype="multipart/form-data"></form>

我建议使用,如果您想了解更多有关symfony中文件上载的信息,可以阅读

至于您的问题,表单中的image字段似乎为null/空,这可能表明您忘记添加到vich设置的表单中,但我不确定默认文件类型:class

<form enctype="multipart/form-data"></form>