如何在Twig模板

时间:2015-09-30 15:03:09

标签: symfony twig

为了保护客户上传的图像,我将它们存储在“app / data”中,并使用以下控制器检索它们:

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Symfony\Component\HttpFoundation\ResponseHeaderBag;

class AssetsController extends Controller {
    ...
    public function serveProfilePictureAction() {
        ...
        $response = new BinaryFileResponse($filePath);
        $response->headers->set('Content-Type', 'image/' . $this->getImageMimeType($filePath));
        $response->setContentDisposition(ResponseHeaderBag::DISPOSITION_INLINE);

        return $response;
    }
}

如果我使用路线调用它,控制器工作正常并提供图像。但是如何将图像嵌入到Twig模板中?我试过了

{{ render(controller('SecuredAssetsBundle:Assets:serveProfilePicture')) }}

但这没有做任何事情。

谢谢!

1 个答案:

答案 0 :(得分:2)

您必须将其嵌入为浏览器的图像标记,以便为您抓取:

<img src="{{ path('serveProfilePictureRoute') }}" alt="Your profile picture" />

serveProfilePictureRoute是您为个人资料图片路线命名的内容。