新手问题 问一个新手提取文件名的问题

yeyong14 · 2014年02月18日 · 最后由 lang1pal 回复于 2014年02月18日 · 2726 次阅读

上传是用carrierwave的 上传了一个 pdf,想在前端显示上传 pdf 的文件名,可提取出来是/uploads/pdf/16/Ubuntu_MySQL.pdf 这个怎么就截取后面的文件名

正则就行了…

#2 楼 @yeyong14 我 Ruby 写得不怎么好……只想到这么表达: /\/(\w{3,})\.pdf/……前提是文件名大于三个字符………你还是用 @iBachue 的方法吧……

@iBachue no implicit conversion of pdfUploader into String

name.split("/")[-1].to_s

@liprais NoMethodError: undefined method `split' for #PdfUploader:0xbbc5b50,现在就是不知道怎么从 carrierwave 中提取文件路径。

pro.pdf
 => #<PdfUploader:0xbbc5b50 @model=#<Product id: 16, title: "fgkasgdhs", number: nil, pdf: "Ubuntu_MySQL.pdf", video: nil, color: nil, listtext: "", techparams: "", detail: "", created_at: "2014-01-14 00:21:45", updated_at: "2014-02-18 02:54:01", tag_id: 22, outline: "", category_id: 6>, @mounted_as=:pdf, @storage=#<CarrierWave::Storage::File:0xbbc5808 @uploader=#<PrintpdfUploader:0xbbc5b50 ...>>, @file=#<CarrierWave::SanitizedFile:0xbbc54ac @file="/home/york/yolift/public/uploads/product/ppdf/16/Ubuntu_MySQL.pdf", @original_filename=nil, @content_type=nil>, @versions={}> 

@liprais @cassiuschen @iBachue 谢谢大家的帮助,搞定了,File.basename(pro.pdf_url)

直接 pro.pdf.file.filename就可以了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号