gpt4 book ai didi

symfony - 如何在 Controller 中为 Symfony Sonata Media 生成 Amazon S3 图像拇指路径

转载 作者:行者123 更新时间:2023-12-02 06:27:37 24 4
gpt4 key购买 nike

我需要使用 Sonata Media Bundle 在 Symfony2 Controller 内生成 Amazon S3 媒体拇指。

这是我与sonata_media相关的config.yml

sonata_media:
default_context: default
db_driver: doctrine_orm
contexts:
default:
providers:
- sonata.media.provider.image
- sonata.media.provider.file
formats:
small: { width: 100 , quality: 90}
medium: { width: 500 , quality: 90}
big: { width: 1000 , quality: 90}
image:
providers:
- sonata.media.provider.image
- sonata.media.provider.file
formats:
small: { width: 100 , quality: 90}
medium: { width: 500 , quality: 90}
big: { width: 1000 , quality: 90}
resource:
providers:
- sonata.media.provider.file
formats:
medium: { width: 500 , quality: 90}
providers:
image:
filesystem: sonata.media.filesystem.s3
resizer: sonata.media.resizer.square
file:
filesystem: sonata.media.filesystem.s3
resizer: false

在我的 Controller 中,我尝试使用这样的东西:

        $provider = $this->container->get("sonata.media.provider.image");
$url = $provider->generatePublicUrl($media, 'small');

但是返回的值是这个

        /uploads/media/image/0001/01/thumb_1_small.jpeg

而不是 Amazon S3 Media 拇指。

有什么建议吗?谢谢。

最佳答案

您忘记设置cdn服务器路径,默认为:“/uploads/media”。

如果您使用 Amazon S3,您的路径应为:“http://YOUR_REGION/YOUR_BUKET_NAME

这是我的sonata_media.yml(在config.yml中导入)

imports:
- { resource: amazon_s3_parameters.yml }
sonata_media:
default_context: default
db_driver: doctrine_orm
contexts:
guideimage:
providers:
- sonata.media.provider.image
formats:
thumbnail: { width: 128 , quality: 100}
big: { width: 1500 , quality: 100}
default:
providers:
- sonata.media.provider.image
- sonata.media.provider.file
formats:
cdn:
server:
path: http://%s3_region%/%s3_bucket_name%
filesystem:
s3:
bucket: %s3_bucket_name%
accessKey: %s3_access_key%
secretKey: %s3_secret_key%
region: %s3_region%
storage: standard
acl: public
create: true
encryption: aes256
cache_control: max-age=86400

当然,%s3_region% 和 %s3_bucket_name% 是参数,在我的例子中:

s3_region: s3.amazonaws.com
s3_bucket_name: mybucket

关于symfony - 如何在 Controller 中为 Symfony Sonata Media 生成 Amazon S3 图像拇指路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28197935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com