Laravel和AWS Cloudfront

时间:2016-09-08 13:20:41

标签: php mysql laravel amazon-s3 amazon-cloudfront

我正在研究和阅读很多关于某个特定主题的文章,但无法在任何地方找到相关答案。

然而,我在Laravel做一些有趣/私人的项目,我想使用Amazon S3存储。我已经完成了所有设置,并且它正常工作,我可以使用Laravel Filesystem从我的应用程序上传图像到S3,但我想要做的是使用CloudFront(我已经设置并运行了,云端是正确提供文件)以提供图像和文件。

现在我的问题是:如何将AWS CloudFront“urls”集成到Laravel中?我的意思是如何在Laravel应用程序中存储CloudFront URL?如何检索文件网址(即图像),以便我可以在我的应用程序中显示它。我是否只将文件路径存储在数据库中并使用“某种特定方式”来提供完整的URL,还是将完整的AWS CloudFront URL保存在数据库中?

这是如何运作的?对不起,如果这个问题很愚蠢,但我只是潜入Laravel而且我在那里很新。

2 个答案:

答案 0 :(得分:6)

在config / filesystems / s3

中将网址设置为您的云端网址
's3' => [
        'driver' => 's3',
        'key' => env('AWS_KEY'),
        'secret' => env('AWS_SECRET'),
        'region' => env('AWS_REGION'),
        'bucket' => env('AWS_BUCKET'),
        'url' => 'http://xxx.cloudfront.net']

适用于L5.5

答案 1 :(得分:2)

您可以使用此资料包https://github.com/publiux/laravelcdn

  

Laravel的内容分发网络包

     

该软件包为开发人员提供了上传其资产的能力   (或任何公共文件)到具有单个工匠命令的CDN。然后   它允许他在本地和在线版本之间切换   文件。