如何使用回形针防止重复文件上传

时间:2014-01-22 04:37:30

标签: ruby-on-rails file-upload duplicates paperclip

在rails 4项目中,我使用paperclip gem上传文件。我想避免重复文件上传。如何检查上传的文件是否重复?另外我想在保存时更改上传文件的名称。我怎么能这样做?

我正在使用的宝石在下面提供

paperclip (3.5.2, 2.3.11, 2.3.8)

1 个答案:

答案 0 :(得分: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)存储在单独的列中。在新附件上,将新附件的校验和与现有行进行比较。