【问题标题】:Display images uploaded on amazon S3 with symfony2使用 symfony2 显示在 amazon S3 上上传的图像
【发布时间】:2014-03-26 20:35:46
【问题描述】:

在 symfony2 项目中显示来自远程 amazon s3 存储库的图像的最佳做法是什么?

我使用 KnpGaufretteBundle 将图片上传到亚马逊。

【问题讨论】:

  • 如何显示它们? <img src="AWS S3 Link" alt="some alt text" />
  • 是的,但我想显示我的 awsS3 文件夹中的所有图像,就像照片库一样,我不知道每张图像的名称,我可以使用一个函数将所有名称返回到我的网站我指定的文件夹?

标签: symfony amazon-s3 gaufrette


【解决方案1】:

当然,您希望使用适用于 PHP 的 AWS 开发工具包,然后您将能够访问给定 S3 目录中的所有文件。然后将它们传递给 twig,以便您可以渲染它们。

S3 Usage Documentation

use Aws\S3\S3Client;

...

public function gallaryAction(){
    $client = S3Client::factory(array(
        'key'    => '<aws access key>',
        'secret' => '<aws secret key>'
    ));

   $images = $client->getIterator('ListObjects', array(
        'Bucket' => $bucket,
        'Marker' => 'folder1/gallary/',
        //I believe marker is what would be use to say only objects in this folder. Not 100% on that.
   ));

    return $this->render('twig_template_name.html.twig',array('images'=> $images));
}

然后您只需使用 twig 文件中的图像来创建 s3 链接。

【讨论】:

  • 谢谢!!如果我​​只想在 s3 上的特定文件夹中拍摄图像,我可以指定文件夹名称吗?
  • 您要从中提取的文件夹结构是什么?即:BUCKET/Folder1/Folder2/Images?
  • 我相信 Marker 将用于此目的。不是 100%,您可能需要查看文档才能确定。
猜你喜欢
  • 2017-04-28
  • 2012-12-20
  • 1970-01-01
  • 1970-01-01
  • 2019-09-20
  • 1970-01-01
  • 1970-01-01
  • 2017-04-28
  • 1970-01-01
相关资源
最近更新 更多