如何将回形针上传复制到新模型/ S3存储桶中?

时间:2012-03-07 21:53:28

标签: ruby-on-rails amazon-s3 amazon-web-services paperclip

我已经对应用程序进行了代码重写,其中一部分意味着模式的模式有所不同。

其中一个模型是Photo模型,它使用Paperclip处理上传到S3。

新模型将照片存储在不同的存储桶中,并使用不同的命名方案,并且还有新的照片尺寸。

所以我需要做的是从一个S3存储桶中复制原始照片,然后通过我的新Photo模型运行它们,以便将它们移动到新的S3存储桶并生成相应的缩略图。

旧数据存储在同一数据库中的OldPhoto模型中。

我正在运行Rails 3.2和Ruby 1.9.2以及Paperclip 2.7。

1 个答案:

答案 0 :(得分:0)

首先,我会将所有旧照片从S3下载到我的本地硬盘。

然后,我会在控制器中编写一个专用操作,该控制器将解析本地驱动器上的旧照片目录,并为每张照片找回该用户/对象上的相应用户/对象和update_attribute,定义新文件(=旧照片)作为新的照片属性并执行相应的上传到数据库。然后,Paperclip将处理新格式的生成和S3的新路径

我的回答可能看起来很明显,但如果有帮助......