背景
- 我已经在Heroku上运行rails 3.X.X应用程序两年多了
- 用户上传的图像通过Paperclip存储在AmazonS3存储桶中
我需要什么
- 我想将所有已上传的图像(总共约5000张图像(下载到本地磁盘
- 我想降低执行此查询所需的成本
问题
- 我对Paperclip如何在S3上存储文件的知识一无所知(该应用程序是近3年前编写的(
- 在S3控制台中查看bucket的内容会列出似乎是包含图像链接的元数据文本文件
- 我似乎在bucket中找不到任何图像文件(通过S3 web控制台(
解决方案
- 我尝试过各种各样的应用程序,比如Cyberduck和Buckets,但它们都会超时请求bucket的内容
- 奇怪的是,我的生产桶只包含描述图像位置的元数据文本文件;为什么我看不到控制台本身的图像
- 有没有一些简单的脚本我可以运行来获取所有的图像
您能提供一些关于在模型中声明的has_attached_file
方法的附加信息吗?
假设你有has_attached_file :photo
:,你可以做这样的事情
Model.find_each do |record|
puts record.photo.url
end
puts
显然只会显示URL。您将需要编写迭代列表的脚本,并使用curl或wget获取它们。