在rails 4项目中,我使用paperclip gem上传文件。我想避免重复文件上传。如何检查上传的文件是否重复?另外我想在保存时更改上传文件的名称。我怎么能这样做?
我正在使用的宝石在下面提供
paperclip (3.5.2, 2.3.11, 2.3.8)
答案 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)存储在单独的列中。在新附件上,将新附件的校验和与现有行进行比较。