在symfony 3中使用html表单上传图片

时间:2019-07-15 19:26:43

标签: php html symfony

我正在使用symfony 3.4,我正在尝试使用HTML表单上传图像。当我选择图像并提交表单时,出现此错误: “在字符串上调用成员函数move()”

这是我的html.twig文件(表单部分):

 <form role="form" id="contact_form" class="contact-form" method="post" action="{{ path('publier_offre') }}" enctype="multipart/form-data">
 <input type="file" class="form-control" name="" id="imageOffre">                                         
                        </form>

这是控制器操作(在何处获取上传的图像并将其持久保存到数据库中):

 public function publierOffreAction(Request $request)
    {
        if($request->isMethod('POST')){
            $offre = new offre();
            //getting the image file
            $filename = $request->files->get('imageOffre');
            $filename->move(
                $this->getParameter('image_directory'),$filename
            );
            $offre->setImage($filename);
            //getting the image file
            $em=$this->getDoctrine()->getManager();
            $em->merge($offre);
            $em->flush();
        }
        return $this->render('@offer/Default/publieroffre.html.twig');
    }

这是我的实体文件offer.php中的图片属性:

    /**
     * @var string
     * @Assert\NotBlank(message="plz enter an image")
     * @Assert\Image()
     * @ORM\Column(name="image", type="string", length=255)
     */
    private $image ;  

 /**
     * @return string
     */
    public function getImage()
    {
        return $this->image;
    }

    /**
     * @param string $image
     */
    public function setImage($image)
    {
        $this->image = $image;
    }

,这是默认的上传目录(config.yml):

parameters:
    locale: en
    image_directory: '%kernel.project_dir%/web/uploads/images'

我建议我在控制器中未正确获取上传的图像。请帮助并感谢

0 个答案:

没有答案