Symfony2 - 上传后调整图像大小

时间:2013-02-03 18:07:59

标签: symfony

我想在上传文件后生成缩略图。对于图像处理,我使用的是Avalanche123的ImagineBundle。

我尝试使用实体中的代码:

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

但它没有帮助。我该怎么办?

2 个答案:

答案 0 :(得分:1)

在此行中,您尝试获取服务:$this->get('imagine.cache.path.resolver')

但是你要遵循的代码示例应该在控制器中执行。实体中没有get()方法,控制器从Controller类继承它,所有控制器都应该扩展它。因此,在实体中调用$this->get()毫无意义。

这是设计的。 Symfony中的实体应该是愚蠢的,只代表他们拥有的数据。

正确的做法是在控制器中调整大小,或者创建服务,向其中注入imagine.cache.path.resolver并从控制器中调用它。

答案 1 :(得分:0)

在树枝中使用dump(var)检查变量。也许$ extn [0]没有正确的文件或没有设置。尝试输出完整的getBrowserPath字符串以确保它是准确的。