2014-01-22 58 views
2

在rails 4項目中,我使用paperclip gem來上傳文件。我想避免重複的文件上傳。我如何檢查上傳的文件是否重複?另外我想在保存時更改上傳文件的名稱。我怎樣才能做到這一點?下面提供如何防止使用回形針上傳重複文件

paperclip (3.5.2, 2.3.11, 2.3.8) 

回答

1

寶石裏面我是用更改您要上傳的文件的名稱,在development.rb和production.rb與所需的選項添加此。

config.paperclip_defaults = { 
    :url => "/posts/:id.:extension", 
    :path => "#{Rails.root}/public/posts/:id.:extension", 
    } 

爲了讓上傳後的文件名,你可以使用:

File.basename(model.avatar.path) 

爲了避免重複,存儲您上傳的文件的checksum (read more)在一個單獨的列。在新附件上,將新附件的校驗和與現有行進行比較。

+0

保存時我需要更新document_file_name字段。例如:我正在上傳abc.doc文件,同時保存document_file_name應更改爲xyz.doc文件。 – shubhra

+0

@shubhra那不需要。獲取文件名,檢查我更新的答案 – emaillenin

+0

如何實現校驗和?有沒有其他方法? – shubhra