这样的事可能……
def rename( ID,new_name ) f = Uploadedfile.find(ID) if f.update_attributes({ f.file.original_filename: new_name }) # this is WRONG,what is right??? new_path = file.join( file.dirname( f.file.current_path ),new_name )) fileUtils.mv( f.file.current_path,new_path ) end return fend
让我添加它是在它已经上传之后.
解决方法 我能够得到以下工作,虽然我确信有更优雅的方式.我对以下任何评论表示感谢*将此添加到app / uploaders / file_uploader.rb
def rename(new_name) sf = model.file.file new_path = file.join( file.dirname( sf.file ),"#{new_name}#{file.extname( sf.file )}") new_sf = CarrIErWave::Sanitizedfile.new sf.move_to(new_path) model.file.cache!(new_sf) model.save! return modelend
谢谢!
总结以上是内存溢出为你收集整理的ruby-on-rails – 如何更新/重命名carrierwave上传的文件?全部内容,希望文章能够帮你解决ruby-on-rails – 如何更新/重命名carrierwave上传的文件?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)