Symfony2-上传后调整图像大小

Symfony2-上传后调整图像大小,symfony,Symfony,我想在上传文件后生成缩略图。对于图像处理,我使用雪崩123的ImageBundle 我尝试在实体中使用代码: $avalancheService = $this->get('imagine.cache.path.resolver'); $avalancheService->getBrowserPath($this->getUploadRootDir().'/'.$path.'/'.$extn[0].'.jpg', 'avatar'); 但这没用

我想在上传文件后生成缩略图。对于图像处理,我使用雪崩123的ImageBundle

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

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

但这没用。我能做什么?

在twig中使用dump(var)检查变量。可能$extn[0]没有正确的文件或未设置。尝试输出完整的getBrowserPath字符串以确保其准确性。

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

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

这是故意的。Symfony中的实体应该是哑的,只表示它们拥有的数据


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

它不起作用。没有生成拇指。如果使用
$avalancheService->getBrowserPath($this->getWebPath()./'.$path./'.$extn[0],该怎么办。‌​'.jpg,"阿凡达";