symfony - 使用 symfony2 显示上传到亚马逊 S3 的图像

标签 symfony amazon-s3 gaufrette

在 symfony 项目上显示来自远程亚马逊 s3 存储库的图像的最佳实践是什么?

我使用 Knp Gaufrette Bundle 将图像上传到亚马逊。

最佳答案

当然,您希望使用适用于 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 链接。

关于symfony - 使用 symfony2 显示上传到亚马逊 S3 的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22672488/

相关文章:

symfony - 'dependency injection'在PHP中解决什么问题?

forms - Symfony:如何自定义出现在 radio 场选项中的 "none"标签?

Python S3 上传签名不匹配

windows - 从 aws s3、cp 或同步下载文件夹?

rest - 重定向到 symfony2 中具有相同 url 的不同操作

Symfony2 - Sonata 管理员 - 编辑/创建 "return to list"操作

amazon-web-services - AWS CloudFront杠杆浏览器缓存

php - 交响乐 2 : How do I manually assign a file to an entity which has been configured to use VichUploaderBundle to handle file uploads

php - 在 Symfony2 中将 VichUploader 与 KnpGaufrette 和 Doctrine 一起使用时的循环引用