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

4

我正在尝试在保存至ActiveStorage之前重命名用户上传的文件,但我似乎找不到任何文档来做到这一点。希望有人已经成功地完成了此操作,并且有可分享的代码示例。

谢谢。

2个回答

4
您可以尝试以下方法。
@message.image.attach(io: File.open('/path/to/file'), filename: 'file.pdf')

在官方的ActiveStorage文档中,你可以找到更多示例。请访问此链接

2

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接