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

时间:2014-03-18 06:59:30

标签: ruby-on-rails ruby ruby-on-rails-3 paperclip

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

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

1 个答案:

答案 0 :(得分:7)

您可以重命名文件,然后更改记录文件名。例如,根据this答案,您可以执行以下操作:

(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

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

AWS::S3::S3Object.move_to record.image.path(style), new_file_path, record.image.bucket_name

检查出来:Paperclip renaming files after they're saved