【问题标题】:How to prevent duplicate file upload using paperclip如何使用回形针防止重复文件上传
【发布时间】:2014-01-22 04:37:30
【问题描述】:

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

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

paperclip (3.5.2, 2.3.11, 2.3.8)

【问题讨论】:

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


    【解决方案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) 存储在单独的列中。在新附件上,将新附件的校验和与现有行进行比较。

    【讨论】:

    • 保存时我需要更新 document_file_name 字段。示例:我正在上传 abc.doc 文件,同时保存 document_file_name 应更改为 xyz.doc 文件。
    • @shubhra 不需要。要获取文件名,请查看我更新的答案
    • 如何实现校验和?有没有其他办法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多