我尝试将 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 服务器中,我可以毫无问题地使用这个包。
如果我 print $this->file
,我无法在我的查找器中找到相应的文件。我尝试了chmod
该文件夹但没有成功。
编辑:
在我的控制器中,当我提交表单时,我会这样做。文件是文件类型的“文件”。if ($request->getMethod() == 'POST') { $form->bind($request);
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);
(...)