Symfony3: отображать изображения в папке web / cache / media

Я использую ImagineBundle и пытаюсь отобразить отфильтрованное изображение.

Мой код веточки таков:

<img src="{{ currentProfileImage|default|imagine_filter('my_thumb') }}" />

Без фильтра изображение отображается правильно с пути:

<img src="/bundles/templates/uploads/images/my_folder/01c2b593148119e2dbcf40fef147542b.jpeg" />

Но с примененным фильтром я получаю следующий результат:

<img src="http://www.example.com/media/cache/my_thumb/bundles/templates/uploads/images/my-folder/01c2b593148119e2dbcf40fef147542b.jpeg" />

С примененным фильтром изображение не отображается .. если я попытаюсь скопировать / вставить в адресную строку путь: http://www.example.com/media/cache/my_thumb/bundles/templates/uploads/images/my-folder/01c2b593148119e2d / а>

говорит, что маршрут не найден.

Я понял, что любое изображение, которое не помещено в папку web / bundles, не отображается ..

Любые идеи?

Спасибо

ОБНОВЛЕНИЕ: config.yml выглядит так:

liip_imagine:
resolvers:
   default:
      web_path: ~

filter_sets:
    cache: ~
    my_thumb:
        quality: 75
        filters:
            thumbnail: { size: [120, 90], mode: outbound }

person TeoM    schedule 20.06.2016    source источник
comment
Вы пробовали использовать URL http://www.example.com/bundles/templates/uploads/images/my_folder/01c2b593148119e2dbcf40fef147542b.jpeg?   -  person Alvin Bunk    schedule 20.06.2016
comment
Есть исходное изображение без изменения размера, и оно работает. Я хочу отобразить изображение с измененным размером, которое находится в папке we / cache / media ...   -  person TeoM    schedule 21.06.2016


Ответы (1)


Похоже, вы забыли добавить маршрутизацию, как указано в описании LiipImagineBundle:

# app/config/routing.yml

_liip_imagine:
    resource: "@LiipImagineBundle/Resources/config/routing.xml"

При использовании этого пакета вы не получаете прямой доступ к изображениям. Вы получаете URL-адрес действия ImagineBundle, которое проверяет, существует ли файл в папке кеша (что означает, что он уже сгенерирован), а если нет, он создает его.

person Jakub Matczak    schedule 20.06.2016
comment
Это уже было добавлено в мой файл routing.yml: _liip_imagine: resource: @ LiipImagineBundle / Resources / config / routing.xml - person TeoM; 20.06.2016
comment
Composer не создавал никаких новых пакетов (LiipImagineBundle) в моей папке src /. Он просто добавил файлы в папку vendor / liip. Это нормально? (Я использую Symfony3) - person TeoM; 20.06.2016
comment
да. Вот как это работает. Если по-прежнему не работает, отредактируйте свой вопрос и добавьте конфигурацию LiipImagineBundle. Также проверьте, существует ли файл в файловой системе (обратите внимание, что сгенерированные файлы не могут храниться в общедоступном каталоге) - person Jakub Matczak; 20.06.2016
comment
Я добавил конфигурацию, она такая же, как и из поваренной книги, файл существует в папке кеша, и его размер изменен, как и должно быть. Я мог увидеть это, только переместив файл в папку web / bundles /. Моя единственная проблема сейчас в том, что я не могу получить доступ к файлу в папке кеша .. - person TeoM; 20.06.2016