上传时文件重命名

时间:2011-02-24 07:10:39

标签: ruby-on-rails ruby paperclip

我正在从我的rails应用程序上传文件到亚马逊s3,它工作正常,但是,我想知道如何将一些字符串附加到要上传的文件。例如,如果用户选择了文件abc.jpg,我需要将其作为header_abc.jpg附加。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:0)

path = picture.attachment.path()

new_file_name = "header_" + picture.attachment_file_name

FileUtils.move(path, File.join(File.dirname(path), new_file_name))

picture.attachment_file_name = new_file_name
picture.save

答案 1 :(得分:0)

假设您正在使用标签列表中的回形针。

在我们的模型中:

has_attached_file :image, :path => ":rails_root/public/images/header_:basename.:extension"

答案 2 :(得分:0)

has_attached_file :image,
                :styles => { :medium => ["140x140>", :jpg],
                             :thumb => ["109x82>", :jpg],
                             :small => ["54x41>", :jpg],
                             :article => ["500x500>", :jpg] },
                :storage => :s3,
                :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
                :path => "article/:id/:style.:extension",
                :bucket => S3_BUCKET

paperclip wiki