使用 Dragonfly 上传的重复图像
Duplicate images uploaded with Dragonfly
我想复制一条记录has_many :pictures
。复制记录很容易,但复制 Picture
条记录是另一回事。
Picture
记录有 link 到 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
以便我可以在新记录上手动设置它?
感谢
我找到了如何做到这一点。对于可能需要这个的人:
我原来的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
是您进行实际图像复制的地方。
我想复制一条记录has_many :pictures
。复制记录很容易,但复制 Picture
条记录是另一回事。
Picture
记录有 link 到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
以便我可以在新记录上手动设置它?
感谢
我找到了如何做到这一点。对于可能需要这个的人:
我原来的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
是您进行实际图像复制的地方。