2014-01-22 59 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