LiipImageBundle& KNP Gaufrette捆绑无法解析s3图像路径?

时间:2014-11-17 13:56:58

标签: symfony amazon-s3 liipimaginebundle gaufrette

我正在使用LiipImageBundle& KNP Gaufrette束调整大小&从s3加载图像。这一切都在以前工作,但突然间它停止了工作。没有捆绑版本升级。

以下是我的配置

liip_imagine:
    cache: aws_s3_images
    data_loader: stream.aws_s3_images
    filter_sets:
        large:
            quality: 75
            cache: aws_s3_images
            data_loader: stream.aws_s3_images
            filters:
                relative_resize: { widen: 140 }
        medium:
            quality: 75
            cache: aws_s3_images
            data_loader: stream.aws_s3_images
            filters:
                thumbnail: { size: [50, 50], mode: outbound }
        small:
            quality: 75
            cache: aws_s3_images
            data_loader: stream.aws_s3_images
            filters:
                thumbnail: { size: [25, 25], mode: outbound }

    loaders:
        stream.aws_s3_images:
            stream:
                wrapper: gaufrette://aws_s3_images_fs/

knp_gaufrette:
    adapters:
        aws_s3_images_adapter:
            aws_s3:
                service_id: 'st.aws_s3.client'
                bucket_name: %amazon.s3.bucket%
                options:
                    #directory: 'fos'
                    create: true

    filesystems:
        aws_s3_images_fs:
            adapter:    aws_s3_images_adapter

    stream_wrapper: ~

问题很奇怪,如果我在新标签页中打开图片,它会重定向到s3图片网址并显示图片。一旦在新标签中加载,它就会开始正常显示。除非我打开新的新标签,否则它不起作用。

是不是解决了s3路径?可能是什么问题 ?我尝试删除所有缓存,我的网站目录中没有媒体文件夹。

在日志中显示ImagineController:调用FilterAction。

在html源图像路径中

http://st.com/app_dev.php/media/cache/resolve/large/fos/user/ebc36103e6d1038791eb7eca2f4449db0780fdf41416235134.jpeg

现在,如果我在新标签/窗口中打开它,它将重定向到

[MY_S3_BUCKET_URL] /fos/user/large/ebc36103e6d1038791eb7eca2f4449db0780fdf41416235134.jpeg

并将在新窗口中显示图像。

现在,如果我再次刷新页面,图像源现在变为

[MY_S3_BUCKET_URL] /fos/user/large/ebc36103e6d1038791eb7eca2f4449db0780fdf41416235134.jpeg

现在我可以看到图片已加载?

为什么它突然开始发生。以前一切正常。

1 个答案:

答案 0 :(得分:0)

完成LiipImaginBundle&的所有代码后调试,结果是由FOSRestBundle引起的内容类型问题

format_listener:
    rules:
        - { path: '^/', priorities: [ '*/*' ], fallback_format: html, prefer_extension: true }

将其更改为

format_listener:
    rules:
        - { path: '^/', priorities: [ 'html', '*/*' ], fallback_format: html, prefer_extension: true }

解决了这个问题。