2016-02-18 62 views
3

我使用了一個名爲回形針寶石的圖片上傳到紅寶石軌服務器上的MD5哈希值。圖像上傳正確並正在工作。我正在使用md5哈希值,以便向rails服務器發出一個請求,並返回我的腳本,確切地說需要上傳哪些圖片(我不想重複)。Ruby on Rails的:獲取回形針圖像

在腳本中,我成功地與

require 'digest/md5'md5 = Digest::MD5.file(filename).hexdigest

計算MD5在服務器上,以檢查md5s是相同的(待上傳圖片VS服務器上圖)我需要計算服務器上每個回形針圖像的md5。

圖像被稱爲TestImages和模型看起來像這樣

class TestImage < ActiveRecord::Base 
    has_attached_file :image, styles: {thumbnail: '100x100', small: '350x350'} 
    validates_attachment :image, content_type: {content_type: ["application/octet-stream", "multipart/form-data", "image/jpg", "image/jpeg", "image/png", "image/gif"]} 
    belongs_to :build 
    belongs_to :test 
end 

人說,回形針又增加了一個指紋(MD5表示)的功能,但我不能確定如何設置的。它似乎是自動完成的,但需要作爲列存儲在數據庫中?這是一個其他文章中,我一直在尋找Rails: How does MD5 checksum work in paperclip?

如果不使用回形針(回形針指紋)工作,我可以做同樣的消化/ MD5一種方法,在劇本,但我似乎無法找到完整的回形針圖像的圖像路徑。

使用這種沒有工作 image.md5 = Digest::MD5.file(test_image.image.path).hexdigest

這給了以下錯誤:

Errno::ENOENT (No such file or directory @ rb_sysopen - /Users/scott.bishop/Code/visual-automation/public/system/test_images/images//original/testBasic_2x.png): 
    app/controllers/test_images_controller.rb:37:in `create' 

我不知道它想要的路徑。任何幫助將非常感激。

回答

0

事實證明,回形針圖像路徑工程。

require 'digest/md5' 
image.md5 = Digest::MD5.file(PAPER_CLIP_IMAGE.path).hexdigest 
相關問題