I can't get LiipImagineBundle to recognize stream paths. Instead of loading the image and applying the specified filter set, it just takes the stream path and treats it as if it were a normal web path.
This is the configuration that I was able to piece together from various sources. I couldn't find any addressing this issue exactly. The settings don't appear to have achieved anything at all as far as LiipImagineBundle is concerned. No errors or warnings are thrown and there's nothing in the logs. It's completely ignoring my configuration.
#/src/Acme/StorageBundle/Resources/config/services.yml
services:
acme_storage.amazon_s3:
class: %acme_storage.amazon_s3.class%
arguments:
options:
key: %acme_storage.amazon_s3.aws_key%
secret: %acme_storage.amazon_s3.aws_secret_key%
certificate_authority: true
liip_imagine.binary.loader.stream.amazon_s3:
class: %liip_imagine.binary.loader.stream.class%
arguments:
- @liip_imagine
- 'gaufrette://amazon_s3/'
tags:
- name: liip_imagine.binary.loader
loader: stream.amazon_s3
liip_imagine.cache.resolver.amazon_s3:
class: Liip\ImagineBundle\Imagine\Cache\Resolver\AmazonS3Resolver
arguments:
- @acme_storage.amazon_s3
- %amazon_s3_bucket_name%
tags:
- name: liip_imagine.cache.resolver
resolver: cache.amazon_s3
# /app/config/config.yml
knp_gaufrette:
stream_wrapper:
protocol: gaufrette
filesystems:
amazon_s3: photo_storage
adapters:
photo_storage:
amazon_s3:
amazon_s3_id: beebop_storage.amazon_s3
bucket_name: %amazon_s3_bucket_name%
create: false
options:
create: true
region: %amazon_s3_region%
filesystems:
photo_storage:
adapter: photo_storage
alias: photo_storage_filesystem
liip_imagine:
cache: cache.amazon_s3
loaders:
stream.amazon_s3:
stream:
wrapper: gaufrette://amazon_s3
filter_sets:
cache: ~
event_small:
data_loader: stream.amazon_s3
quality: 75
filters:
thumbnail:
size: [60, 60]
mode: outbound
allow_upscale: true
Twig:
{{ 'gaufrette://amazon_s3/file.jpg'|imagine_filter('event_small') }}
Produces:
http://example.com/media/cache/resolve/event_small/gaufrette://amazon_s3/file.jpg