在ActiveStorage中保存之前重命名文件 - Rails 5.2

时间:2018-05-10 03:01:17

标签: ruby-on-rails ruby-on-rails-5 rails-activestorage

我尝试重命名用户上传的文件,然后保存在ActiveStorage中,我似乎找不到任何文档来执行此操作。希望有人成功地完成了它,并有代码示例分享。

谢谢。

2 个答案:

答案 0 :(得分:4)

您可以尝试以下方法

@message.image.attach(io: File.open('/path/to/file'), filename: 'file.pdf')

在官方ActiveStorage文档中,您可以找到更多示例

答案 1 :(得分:0)

模型中的这个方法对我有用:

class Model < ApplicationRecord
has_one_attached :anything

  before_save do
    if self.anything.attached?
        ext = '.' + self.anything.blob.filename.extension
        self.anything.blob.update(filename: 'desired_file_name' + ext)
    end
  end
end