我尝试使用GregWare:ImageBundle和MAMP。 当我尝试
时Image::open($this->file);
Symfony给了我一个
Warning: imagejpeg(): Invalid 2nd parameter, it must a filename or a stream in /XXX/vendor /gregwar/image-bundle/Gregwar/ImageBundle/Image.php line 979
GD和EXIF已正确安装。
在我的debian服务器中,我可以毫无问题地使用这个包。
如果我打印$this->file
,我在查找器中找不到相应的文件。我试图chmod
该文件夹但没有成功。
编辑:
在我的控制器中,当我提交表单时,我会这样做。文件是文件类型的“文件”。 if($ request-> getMethod()=='POST'){ $形式 - >绑定($请求);
if ($form->isValid()) {
$annonce->uploadMainFile();
$annonce->setEnable(true);
$em = $this->get('doctrine')->getManager();
$em->persist($annonce);
$em->flush();
//TODO redirect
return $this->redirect(
$this->generateUrl('xxx_core_moncompte'));
这是我在包含文件
的主实体中的上传功能public function uploadMainFile(){
$hCible = 205;
$lCible = 277;
$ratioCible = $lCible/$hCible;
if($this->file!=null){
$size = getimagesize($this->file);
$haut=$size[1];
$larg=$size[0];
$ratio = $larg/$haut;
if($ratio>$ratioCible){
//Resize by height
Image::open($this->file)
->resize(null, $hCible)
->save($this->file);
(...)