我正在使用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'
我建议我在控制器中未正确获取上传的图像。请帮助并感谢