纸夹(Paperclip)如何允许用户重命名上传的文件?

3

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

如果有共享链接,它是否会自动更新?由于我无法首先弄清楚如何重命名文件,因此无法做到这一点。

1个回答

8

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

(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在保存文件后重命名文件


1
你本可以给 @voyta 一些功劳:https://dev59.com/IHE85IYBdhLWcg3wkkjK ;) - Jeremy F.
我的错,我说话太快了...如果你删除你的评论,我也会删除我的。 - Jeremy F.

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