2

ファイルをアップロードした後にサムネイルを生成したい。画像操作には、Avalanche123 の ImagineBundle を使用します。

エンティティでコードを使用してみました:

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

しかし、それは役に立ちません。私に何ができる?

4

2 に答える 2

1

この行で、サービスを取得しようとします: $this->get('imagine.cache.path.resolver').

ただし、あなたがフォローしているコード例は、コントローラーで実行されることになっています。get()エンティティにはメソッドはありませんController。コントローラーは、すべてのコントローラーが拡張する必要があるクラスから継承します。したがって$this->get()、Entity の呼び出しは無意味です。

これは仕様によるものです。Symfony のエンティティーはダムであると想定されており、エンティティーが持つデータのみを表します。

正しいことは、コントローラーでサイズ変更を行うか、サービスを作成して注入imagine.cache.path.resolverし、コントローラーから呼び出すことです。

于 2014-12-12T08:36:21.803 に答える
0

twig で dump(var) を使用して変数を確認します。$extn[0] に正しいファイルがないか、設定されていない可能性があります。完全な getBrowserPath 文字列を poutputting して、正確であることを確認してください。

于 2014-02-24T16:31:21.143 に答える