2014-10-08 2 views
0

У меня есть несколько изображений в «app/var/assets» (я должен поместить эти изображения в этот каталог, я не могу изменить это по ограничению клиента).Показать изображение с помощью X-Send File (Symfony2)

Мне нужно показать эти изображения. Каталог приложений не является доступным для Apache пути, поэтому мне нужно использовать X-Send File.

Как я могу использовать X-Send File для этого?

Я пытался в моем контроллере:

$path = $this->get('kernel')->getRootDir() . '/var/assets/example.jpg'; 

$response = new BinaryFileResponse($path'); 

$response->trustXSendfileTypeHeader(); 
$response->headers->set('Content-type', 'image/jpg'); 
$response->sendHeaders(); 
$response->setContentDisposition(ResponseHeaderBag::DISPOSITION_INLINE, "name"); 

И тогда, на мой взгляд:

<img src="<?= $response ?>" /> 

Но образ не найден и URL, я получаю для изображения:

HTTP/1.0 200 OKCache-Control: publicContent-Disposition: inline; filename =

Есть идеи?

ответ

0

У меня была аналогичная проблема, и я создал действие, которое возвращает изображение.

+0

Спасибо, но как вы напечатаете это изображение на ваш взгляд? Благодаря! – user2794692

0

Удостоверьтесь, что mod_xsendfile установлен и активирован для apache.

Существует опечатка в строке 3, разделитель строк при передаче переменной в конструктор класса (должно быть $response = new BinaryFileResponse($path);, но я предполагаю, что вы это знаете).