我正在开发一个音乐平台,我使用carrierwave和fog将曲目上传到S3存储桶。
我想在上传之前访问临时文件。我注意到当我将文件发送到控制器时,当我在控制台中@track.file.inspect
时,我得到以下内容:
#<AudioUploader:0x007fa46d07bb60 @model=#<Track id: nil, artist_id: 1, title: "Not Alone", file: nil, created_at:
nil, updated_at: nil, track_cover: nil, public: false, like_facebook: nil, share_facebook: false, follow_twitter: nil, share_t
witter: false, follow_instagram: nil, shazam_track: nil, about_track: "", lyrics: "", credits: "", price: #<BigDecimal:7fa4767
d2f18,'0.0',9(18)>, name_your_price: false>, @mounted_as=:file, @cache_id="1461881968-11098-8389", @filename="Not_Alone_Lyrics
_-_RED_-_Until_We_Have_Faces.mp3", @original_filename="Not_Alone_Lyrics_-_RED_-_Until_We_Have_Faces.mp3", @file=#<CarrierWave:
:SanitizedFile:0x007fa46d079658 @file="/Users/*****/Desktop/projects/*****/public/uploads/tmp/1461881968-11098-8389/Not_
Alone_Lyrics_-_RED_-_Until_We_Have_Faces.mp3", @original_filename=nil, @content_type="audio/mp3">, @versions={}>
Completed 500 Internal Server Error in 643ms (ActiveRecord: 496.1ms)
如何访问字符串:
/Users/*****/Desktop/projects/*****/public/uploads/tmp/1461881968-11098-8389/Not_
Alone_Lyrics_-_RED_-_Until_We_Have_Faces.mp3
答案 0 :(得分:-1)
如果您使用的是标准Tempfile对象,则只需拨打#path
http://ruby-doc.org/stdlib-1.9.3/libdoc/tempfile/rdoc/Tempfile.html#method-i-path