ruby-on-rails – rails – Paperclip文件名

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – rails – Paperclip文件名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用导轨与Paperclip,我可以使用以下来获取在before_create期间的文件名:

extension = File.extname(photo_file_name).downcase

我如何获取JUST的文件名..现在我有photo_file_name,它提供了整个文件,titlename.pdf

我没有.pdf只需要titlename

谢谢

更新代码

photo.rb:

before_create :obfuscate_file_name

  #Paperclip for photo
  has_attached_file :photo,......


private

  def obfuscate_file_name
    extension = File.extname(photo_file_name).downcase
    fileNameOnly = File.basename(photo_file_name).downcase
    self.photo.instance_write(:file_name,"#{fileNameOnly}_#{ActiveSupport::SecureRandom.hex(32)}#{extension}")
  end

解决方法

使用 File.basename与可选后缀参数,如下所示:
file_name = File.basename(photo_file_name,File.extname(photo_file_name));

在我的机器上工作:

猜你在找的Ruby相关文章