Paperclip按用户重命名上传的文件

arj*_*jun 2 ruby ruby-on-rails paperclip ruby-on-rails-3

是否可以允许用户重命名上传的文件?

如果有共享链接,它会自动更新.我无法做到这一点,因为我无法弄清楚如何重命名文件.

Ser*_* A. 7

您可以重命名文件,然后更改记录文件名.例如,根据这个答案,您可以:

(record.image.styles.keys+[:original]).each do |style|
    path = record.image.path(style)
    FileUtils.move(path, File.join(File.dirname(path), new_file_name))
end

record.image_file_name = new_file_name
record.save
Run Code Online (Sandbox Code Playgroud)

如果您使用的是Amazon S3,则可以执行以下操作:

AWS::S3::S3Object.move_to record.image.path(style), new_file_path, record.image.bucket_name
Run Code Online (Sandbox Code Playgroud)

检查一下:Paperclip在保存后重命名文件