我正在尝试为上传到载波的文件设置store_dir,但我想要一个特定的url结构(就像我使用回形针一样)。我有两个版本:main和:thumb,但似乎使用model.id存储的url是/model/id/VERSION_IMAGENAME.FILETYPE。我正在试图找出如何将url结构为/MODE/id/VERSION/IMAGENAME_FILETYPE,但运气不佳。有什么帮助吗?
示例url:
/event/1/main_IMG1922.JPG,但我想要/event/1/main/IMG1922.JPG.
谢谢!
您可能可以覆盖full_filename
和full_original_filename
方法,如carrierwave wiki页面所示
下面是他们显示的将文件名从version_foo.jpg
更改为foo_version.jpg
的示例。根据您的需要进行定制。
module CarrierWave
module Uploader
module Versions
def full_filename(for_file)
parent_name = super(for_file)
ext = File.extname(parent_name)
base_name = parent_name.chomp(ext)
[base_name, version_name].compact.join('_') + ext
end
def full_original_filename
parent_name = super
ext = File.extname(parent_name)
base_name = parent_name.chomp(ext)
[base_name, version_name].compact.join('_') + ext
end
end
end
end