VichUploaderBundle - Обслуживание файлов в ekkoLightbox с контроллером - PullRequest
0 голосов
/ 10 января 2020

Я использую пакет 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);
}

Twig:

{% 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 %}

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

проблема с лайтбоксом: enter image description here

1 Ответ

0 голосов
/ 13 января 2020

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

...