载波版本存储URL



我正在尝试为上传到载波的文件设置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_filenamefull_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

相关内容

最新更新