VichUploaderBundle - Обслуживание файлов в ekkoLightbox с помощью контроллера

Я использую пакет VichUploaderBundle в моем проекте Symfony 4 для загрузки вложений. Загрузка работает хорошо, но мне не терпится отобразить эти вложения.

Я использую плагин «ekko-lightbox» (или другой плагин, если вам лучше?), Чтобы отображать вложения непосредственно пользователю, не покидая страницу, но я получаю много странных символов ���.

Вот мой код (я использую контроллер, чтобы проверить, есть ли у пользователя права на загрузку файла):

/**
 * @Route("/ticket/attachment/{id}", name="ticketing_attachments", methods="GET")
 * @IsGranted("ROLE_USER")
 */
public function getTicketAttachment(TicketAttachment $ticketAttachment, DownloadHandler $downloadHandler, TicketManager $ticketManager): Response
{
    if(!$ticketManager->hasPermissionViewTicket($ticketAttachment->getTicket(), $this->getUser())) {
        throw new HttpException(404, 'La page que vous avez demandée n\'existe pas.', null, [], 1);
    }

    return $downloadHandler->downloadObject($ticketAttachment, $fileField = 'file', $objectClass = null, $fileName = null, $forceDownload = false);
}

Ветка:

{% if ticket.attachments|length > 0 %}
     <hr/>
     {% for attachment in ticket.attachments %}
           <span class="glyphicon glyphicon-paperclip"></span>
           <a href="{{ path('ticketing_attachments', {id: attachment.id}) }}" data-toggle="lightbox">{{ attachment.name }}</a>
     {% endfor %}
{% endif %}

Когда я перехожу прямо к маршруту "/ ticket / attachment / {id}", вложение отображается, но с плагином ekko-lightbox я получаю вот что (много странных символов ���):

Проблема с экко-лайтбоксом:  введите описание изображения здесь


person skros3    schedule 10.01.2020    source источник


Ответы (1)


Проблема возникла из-за плагина. Исправил проблему с помощью плагина lokeshdhakar / lightbox2.

person skros3    schedule 13.01.2020