2013-02-03 108 views
3

我想在上傳文件後生成縮略圖。對於圖像處理,我使用Avalanche123的ImagineBundle。Symfony2 - 上傳後調整圖像大小

我試着用在實體代碼:

 $avalancheService = $this->get('imagine.cache.path.resolver'); 
     $avalancheService->getBrowserPath($this->getUploadRootDir().'/'.$path.'/'.$extn[0].'.jpg', 'avatar'); 

但它並不能幫助。我能做什麼?

+0

問題是什麼? – cheesemacfly

+0

它不起作用。生成拇指不會發生。 –

+1

如果使用'$ avalancheService-> getBrowserPath($ this-> getWebPath()。'/'。$ path。'/'。$ extn [0]。'.jpg','avatar'); '? – cheesemacfly

回答

0

使用dump(var)在樹枝中檢查變量。也許$ extn [0]沒有正確的文件或沒有設置。嘗試對完整的getBrowserPath字符串進行poutput,以確保它是準確的。

1

在此行上,您嘗試獲得服務:$this->get('imagine.cache.path.resolver')

但是你正在執行的代碼示例應該在控制器中執行。在實體中沒有get()方法,控制器從Controller類繼承它,所有控制器都應該擴展它。所以在實體中調用$this->get()毫無意義。

這是設計。 Symfony中的實體應該是愚蠢的,只能代表他們擁有的數據。

正確的做法是要麼在控制器中調整大小,要麼創建服務,將imagine.cache.path.resolver注入到控制器中並從控制器調用它。