Кэш LiipImagine не работает с конфигурацией FlySystem (S3) - PullRequest
0 голосов
/ 17 июня 2019

У меня проблема с созданием миниатюр с помощью LiipImagineBundle https://symfony.com/doc/2.0/bundles/LiipImagineBundle/index.html. Я могу напечатать изображение в полном разрешении в виде веточки, но если я добавлю фильтр Imagine, он не будет работать.

liip_imagine:

    loaders:
        flysystem_loader:
            flysystem:
                filesystem_service: oneup_flysystem.uploads_filesystem_filesystem
        # default loader to use for all filter sets

    resolvers:
        flysystem_resolver:
            flysystem:
                filesystem_service: oneup_flysystem.uploads_filesystem_filesystem
                cache_prefix: media/cache
                root_url: '%uploads_base_url%'

    data_loader: flysystem_loader

    cache: flysystem_resolver

    # valid drivers options include "gd" or "gmagick" or "imagick"
    driver: "gd"

    # define your filter sets under this option
    filter_sets:
        # an example thumbnail transformation definition
        # https://symfony.com/doc/current/bundles/LiipImagineBundle/basic-usage.html#create-thumbnails
        squared_thumbnail:
            jpeg_quality:          85
            png_compression_level: 8
            filters:
                auto_rotate: ~

                # strip the image of all metadata
                strip: ~
                thumbnail:
                    size:          [200, 200]
                    mode:          outbound
                    allow_upscale: true

        product_squared_photo:
            jpeg_quality:          85
            png_compression_level: 8
            filters:
                auto_rotate: ~
                strip: ~
                thumbnail:
                    size:          [540, 540]
                    mode:          outbound
                    allow_upscale: true
oneup_flysystem:
    adapters:
        uploads_adapter:
            awss3v3:
                client: Aws\S3\S3Client
                bucket: '%env(AWS_BUCKET_NAME)%'
    filesystems:
        uploads_filesystem:
            adapter: uploads_adapter

show.twig.html <img class="product__photo d-block w-100" src="{{ product.profileImage|imagine_filter('product_squared_photo') }}" alt="First slide"/>

product.profileImage является fileName.fileExtension

и services.yaml

parameters:
#    cache_adapter: cache.adapter.apcu
    locale: 'en'
    uploads_base_url: 'https://%env(AWS_BUCKET_NAME)%.s3-eu-central-1.amazonaws.com'
#    uploads_base_url: '%kernel.project_dir%/public/uploads'

Проблема в том, что каталог кэша не существует в корзине AWS, а URL-адрес изображения https://127.0.0.1:8000/media/cache/resolve/product_squared_photo/5d06fe3dce3e3.png вместо URL-адреса AWS. Похоже, моя конфигурация не работает. Есть идеи?

...