【问题标题】:Rails 3 + Paperclip + Amazon S3 + Download All ImagesRails 3 + Paperclip + Amazon S3 + 下载所有图片
【发布时间】:2014-04-14 03:49:26
【问题描述】:
背景
- 我在 Heroku 上运行 rails 3.X.X 应用程序已经 2 年多了。
- 用户上传的图像通过 Paperclip 存储在 Amazon S3 存储桶中。
我需要什么
- 我想将所有已上传的图片(大约 5000 张图片)下载到本地磁盘。
- 我想降低执行此查询所需的成本。
问题
- 我不知道 Paperclip 如何在 S3 上存储文件(该应用程序几乎是 3 年前编写的)。
- 在 S3 控制台中查看存储桶的内容会列出看似包含图像链接的元数据文本文件。
- 我似乎无法在存储桶本身中找到任何图像文件(通过 S3 Web 控制台)。
解决方案?
- 我尝试了各种应用程序,例如Cyberduck 和Buckets,但它们都在尝试请求存储桶的内容时超时。
- 我的生产存储桶只包含描述图像位置的元数据文本文件,这似乎很奇怪;为什么我在控制台本身看不到图像?
- 我可以运行一些简单的脚本来抓取所有图像吗?
【问题讨论】:
标签:
ruby-on-rails
ruby-on-rails-3
heroku
amazon-s3
paperclip
【解决方案1】:
您能否提供一些关于您在模型中声明的has_attached_file 方法的其他信息?
假设你有has_attached_file :photo,你可以这样做:
Model.find_each do |record|
puts record.photo.url
end
puts 显然只会显示 URL。您需要编写脚本遍历列表并使用 curl 或 wget 获取它们。