2011-07-24 52 views
0

我在Rails 3應用程序中使用Omniauth(帶有Facebook)的回形針寶石。所有個人資料圖片都保存到Amazon S3。由於重複,使用Paperclip on Rails 3保存Facebook圖像的問題

現在我遇到的問題是,許多圖像保存爲stringio.txt,導致重複的圖像。這意味着,我的一些用戶擁有不屬於自己的個人資料圖片。

似乎這些圖像也發生在圖像本身超過10kb時。

到目前爲止,我已經試過直接節約使用open-uri

self.avatar = open(omniauth['user_info']['image'].sub("square","large"))

回答

6

我發現這個解決方案:

在那裏我有回形針圖像

before_post_process :transliterate_file_name 

private 

    def transliterate_file_name 
    extension = 'JPG' 
    filename = photo_file_name 
    self.photo.instance_write(:file_name, "#{filename}.#{extension}") 
    end 

它工作得很好,但在我的情況,我也有從普通形式的圖像模型,所以我認爲這是奇怪的要做到這一點。如果所有的照片都來自Facebook,那將是完美的。

2

只是散列組合使用Digest::MD5.hexdigest一些隨機值,也許時間戳的文件名。

+0

好主意(使用開放-URI代替)這個!我會給你一個鏡頭並儘快報告!謝謝! –