ruby-on-rails - Rails + S3:解析存储桶并在控制器外部加载图像
问题描述
在我的 Rails 应用程序的控制器中,我有一个函数可以解析我的 S3 存储桶并选择图像。它导致页面加载速度变慢,但我喜欢能够在不对所有 URL 进行硬编码的情况下循环遍历存储桶。
这是我所拥有的:
@bucket = S3_BUCKET
@images = []
@bucket.objects.each do |file|
if file.key.include?("inspiration")
@images << { url: file.public_url, key: file.key, type: 'file'}
end
end
有没有另一种方法来实现这一点,所以页面加载速度不会受到影响?
解决方案
由于您确实无法调节访问 s3 存储桶的速度,我建议您在 Amazons Cloudfont 上设置一个 CDN(内容交付网络)。请看一下这篇由 Brandon Hikert 撰写的关于实施 CDN 的文章
https://brandonhilkert.com/blog/setting-up-a-cloudfront-cdn-for-rails/
旁注 - 如果您想要一个免费的 CDN 选项,我会使用
https://cloudinary.com/pricing
参考何时在 s3 上使用 CDN
https://stackoverflow.com/questions/3327425/when-to-use-amazon-cloudfront-or-s3
推荐阅读
- if-statement - 带有 IF 语句的索引匹配公式
- vue.js - vue 过渡而无需使用 v-if / v-show
- ios - Codemagic 未能发布错误:代码 -22020
- python - 烧瓶可以在响应中发送重复的标题吗?
- c# - C# 嵌套对象和连接
- cookies - 使用 cookies.set() API 设置 cookie 的最有效方法是什么?
- python-3.x - pyspark 检测分类变量的变化
- vb.net - 移动控制超出屏幕分辨率 VB.Net
- vue.js - MS Edge:0:预期标识符、字符串或数字
- java - android: 为什么我们需要 JobIntentService 中的 Runnables?