2011-02-24 174 views
1

我從我的rails應用上傳文件到亞馬遜s3,但它工作正常,但是,我想知道如何將一些字符串附加到要上傳的文件。例如,如果用戶選擇了文件abc.jpg,我需要將其附加爲header_abc.jpg。我怎樣才能做到這一點?上傳文件時重命名

回答

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 
+0

上載軌創建一個臨時文件,我需要改變這個名字。模型中是否有可能被指定?當我們正在定義可附加 – user315252 2011-02-24 07:47:08

0

假設您使用來自標籤列表的回形針。

在我們的模型:

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

+0

我有一個附件模型所有我的模型有附件將使用它我需要專門改變它爲一個模型單獨 – user315252 2011-02-24 07:57:10

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