使用Carrierwave显示没有扩展名的文件名

时间:2017-04-14 04:36:28

标签: ruby-on-rails ruby carrierwave

当我上传文件时,我的视图页面将显示该文件 例如

'thisfile.jpg'

如何从显示的文件名中删除.jpg和所有文件扩展名。 我试图去上传并玩

#覆盖上传文件的文件名:

->

但我不知道在里面键入什么来删除扩展名。我不需要版本控制,我只想删除所有版本的文件名显示扩展名。

感谢

3 个答案:

答案 0 :(得分:1)

在你的picture_uploader.rb中:

  def filename
     file = File.basename("#{original_filename}", ".*")
  end

".*":这将为您提供不带扩展名的文件名。

结果将是:

/path/to/your/file/originalname

没有扩展名。

要在视图中显示没有文件路径的originalname,代码应如下所示:

<%= picture.filename_identifier %>

答案 1 :(得分:1)

只是:

def filename
  basename = file.basename
end

答案 2 :(得分:0)

# image.png --> "image"

def filename
  basename = File.basename file.file, File.extname(file.file)
end