【问题标题】:Rails Carrierwave change uploaded file nameRails Carrierwave 更改上传的文件名
【发布时间】:2013-04-23 23:45:22
【问题描述】:

如何更改控制台上传的文件名而不更改数据库中的记录?

例如:

Photo.first.image.file 
 => #<CarrierWave::SanitizedFile:0x007fdeabefbd98 @file="/.../public/uploads/app/2/photo/3_venice.jpeg", @original_filename=nil, @content_type=nil> 

Photo.first.image.file.exists?
=> false

Photo.first.image.file.file
=> "/.../public/uploads/app/2/photo/3_venice.jpeg"

我的最终目标是找到具有一些依赖名称的文件,例如(没有第一个符号,型号 ID - 3):venice.jpeg

并将其重命名为所需的名称:3_venice.jpeg

有可能吗?

【问题讨论】:

    标签: ruby-on-rails carrierwave


    【解决方案1】:

    我的解决方案:)

    Photo.find_each do |p|
        File.rename((p.image.file.file.split('/')[0...-1].join('/')+'/'+p.image.file.file.split('/').last.split('_')[1..-1].join('_')), p.image.file.file) if p.image.file.exists? == false
    end
    

    【讨论】:

      猜你喜欢
      • 2015-04-29
      • 1970-01-01
      • 2016-04-05
      • 2014-07-28
      • 2013-11-20
      • 2018-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多