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

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

我有一个 Rails 应用程序,其底层 MySQL 数据库包含许多产品。 每个产品都有一张图片,目前以 URL 的形式存储在数据库中。

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

非常感谢您的帮助!

最佳答案

您需要从 URL 下载图像,并让 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 列。

关于mysql - Rails Paperclip 将图像从 URL 保存到数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34932332/

相关文章:

mysql - 当用户单击表格行时显示详细信息

android - Retrofit - 使用预签名 URL 将图像上传到 S3

ruby-on-rails - 将 S3 用于 Rails "public/images"好吗?有一种简单的方法吗?

mysql - 查询包括所有行中的一行的总和

php - 如何使用 MySQL 通过 PHP 向 INSERT 添加日期和时间戳?

ruby-on-rails - ActiveRecord::ConnectionNotEstablished - X 没有连接池

ruby-on-rails - 有没有办法用 rspec 检查内部方法变量?

amazon-web-services - 使用AWS开发工具包创建s3存储桶时,存储桶名称无效

mysql - Unix Shell 脚本 : Reading and working with MySQL Rows line by line

ruby-on-rails - 设置默认值时出现空约束错误 Ruby On Rails - Postgresql