在控制器中我有:
ext = File.extname(params[:file].original_filename)
basename = File.basename(params[:file].original_filename, ext)
time = Time.now.to_i
for_hash = Digest::MD5.hexdigest([basename, time].join(''))[0..5]
new_file_name = [for_hash, ext].join('')
并将新文件名保存到数据库中。但是这个代码艺术如何在保存之前更改文件夹中的文件名?
答案 0 :(得分:2)
在您的上传器文件中,您可以更改文件名
class ImageUploader < CarrierWave::Uploader::Base
def filename
"#{model.id}.jpg" # to name file with their id
end
....
end
我很久以前就做过了,我想是就是这样。