Paperclip переименовывает загруженные файлы пользователем

Можно ли разрешить пользователю переименовывать загруженный файл?

Если есть ссылка для обмена, будет ли она автоматически обновляться. Я не могу этого сделать, так как сначала не могу понять, как переименовать файл.


person arjun    schedule 18.03.2014    source источник


Ответы (1)


Вы можете переименовать файлы, а затем изменить имя файла записи. Например, на основе этого ответа вы можете сделать следующее:

(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

Проверьте это: скрепка переименовывает файлы после их сохранения

person Sergio A.    schedule 18.03.2014
comment
Вы могли бы отдать должное @voyta: stackoverflow .com/questions/2708115/ ;) - person Jeremy F.; 13.02.2016
comment
Плохо, я говорил слишком быстро... Если вы удалите свой комментарий, я удалю свой. - person Jeremy F.; 15.02.2016