【问题标题】:Duplicate images uploaded with Dragonfly使用 Dragonfly 上传的重复图像
【发布时间】:2016-10-07 12:31:54
【问题描述】:

我想复制has_many :pictures 的记录。复制记录很简单,但复制Picture 记录是另一回事。

  • Picture 记录有一个指向Post 的链接
  • Picture 有一个属性(用于 Dragonfly),即 image_uid,其中包含类似 2016/08/17/3chjxpz97o_tfss_05bbc7ac_a432_4408_bf6e_a0fa3dc4630d_animage.jpeg 的字符串

图像存储在 AWS S3 服务器上。从服务器的角度来看,我认为这是

  • 下载图片(原记录image_uid)到服务器
  • 将图像附加到新的Picture 记录
  • 将图像重新上传到 AWS
  • 有没有一种方法可以在 AWS 上复制它,为您提供新的 image_uid,以便我可以在新记录上手动设置它?

谢谢

【问题讨论】:

    标签: ruby-on-rails dragonfly-gem


    【解决方案1】:

    我已经找到了它是如何完成的。对于可能需要此功能的人:

    我原来的Picture对象:

    #<Picture:0x007f82570f8f58> {
                :id => 285,
         :image_uid => "2016/10/06/6tacpx09uq_large_0.jpeg",
            :number => nil,
              :main => true,
        :created_at => Thu, 06 Oct 2016 08:59:44 UTC +00:00,
        :updated_at => Thu, 06 Oct 2016 08:59:48 UTC +00:00,
           :user_id => 46,
        :company_id => 27,
            :public => true
    }
    

    复制它实际上并不难。我使用了Ruby提供的.dup方法。复制多张图片:

    pictures.each do |p|
      p2 = Picture.create(image:p.image, user:to_user, company:to_company, public:true, main: p.main)
    end
    

    image:p.image 是您进行实际图像复制的地方。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-06
      • 1970-01-01
      • 2015-08-06
      • 2021-07-22
      相关资源
      最近更新 更多