Rails Paperclip将图像从URL保存到数据库中

时间:2016-01-21 19:10:01

标签: mysql ruby-on-rails amazon-s3 paperclip

我有一个包含许多产品的基础MySQL数据库的Rails应用程序。 每个产品都有一张图片,目前作为网址存储在数据库中。

如何在S3上使用回形针保存这些内容。如何将文件名存储在MySQL数据库中?一旦我用数百种新产品更新数据库,我该如何触发刷新?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您需要从网址下载图片,并让回形针为您进行重新处理。您可以在paperclip' wiki https://github.com/thoughtbot/paperclip/wiki/Attachment-downloaded-from-a-URL

上找到下载图像的代码

为了举例说明,我们假设您拥有包含头像的用户,而不是包含图片的产品,现有字段为old_avatar_url。设置用户按照回形针的指示存储头像。

User.find_each do |user|
  user.avatar_remote_url = user.old_avatar_url
  user.save
end

之后,您可以安全地删除old_avatar_url列。