为了保护客户上传的图像,我将它们存储在“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')) }}
但这没有做任何事情。
谢谢!
答案 0 :(得分:2)
您必须将其嵌入为浏览器的图像标记,以便为您抓取:
<img src="{{ path('serveProfilePictureRoute') }}" alt="Your profile picture" />
serveProfilePictureRoute
是您为个人资料图片路线命名的内容。