我有一個使用回形針處理圖像的模型。當圖片上傳時,會進行一些JavaScript裁剪的預覽,然後根據所選的裁剪製作縮略圖和預覽尺寸。將回形針附件的所有樣式複製到新對象(S3)
- 原始圖像
- 預覽(從用戶選擇的裁剪)
- 拇指(從用戶選擇的裁剪)
在模型中的代碼:在S3總給我們3個圖像附件是:
has_attached_file :picture, ASSET_INFO.merge(
:whiny => false,
:styles => { :thumb => '200>x200#', :preview => '400x300>' },
:processors => [:jcropper],
:preserve_files => true
)
我們有一些功能,允許用戶創建對象的副本的自己的目的,我們想複製圖像。我認爲只是做一個簡單的
new_my_model.picture = original_my_model.picture if original_my_model.picture_file_name #no file name means no picture
會得到的工作完成,它確實,但只有一種。
它正在複製圖片,然後根據模型中設置的內容重新處理預覽和縮略圖。
我想要做的是將所有3個現有圖像(原始圖像,縮略圖和預覽圖像)複製到新的對象,因爲它們是原始圖像,然後將它們保存在S3的適當位置,跳過調整大小/裁剪。
任何人都可以指向正確的方向嗎?我在網上搜索,似乎無法找到任何東西,我嘗試的一切似乎都不起作用。對原始圖片做一個.dup
會導致一個異常,所以這個想法就沒有了。
同樣的問題,我還增加了對最佳答案的評論中http://stackoverflow.com/questions/14224080/ruby-copy-a-paperclip-attachment-from-one -model-to- –