我想在上传文件后生成缩略图。对于图像处理,我使用的是Avalanche123的ImagineBundle。
我尝试使用实体中的代码:
$avalancheService = $this->get('imagine.cache.path.resolver');
$avalancheService->getBrowserPath($this->getUploadRootDir().'/'.$path.'/'.$extn[0].'.jpg', 'avatar');
但它没有帮助。我该怎么办?
答案 0 :(得分:1)
在此行中,您尝试获取服务:$this->get('imagine.cache.path.resolver')
。
但是你要遵循的代码示例应该在控制器中执行。实体中没有get()
方法,控制器从Controller
类继承它,所有控制器都应该扩展它。因此,在实体中调用$this->get()
毫无意义。
这是设计的。 Symfony中的实体应该是愚蠢的,只代表他们拥有的数据。
正确的做法是在控制器中调整大小,或者创建服务,向其中注入imagine.cache.path.resolver
并从控制器中调用它。
答案 1 :(得分:0)
在树枝中使用dump(var)检查变量。也许$ extn [0]没有正确的文件或没有设置。尝试输出完整的getBrowserPath字符串以确保它是准确的。