0

我正在尝试为要上传到载波的文件设置 store_dir,但我想要一个特定的 url 结构(就像我使用回形针一样)。我有两个版本:main 和 :thumb,但似乎使用 model.id 存储的 url 是 /MODEl/ID/VERSION_IMAGENAME.FILETYPE。我试图弄清楚如何将 url 构造为 /MODEL/ID/VERSION/IMAGENAME.FILETYPE,但没有任何运气。有什么帮助吗?

示例网址:

/event/1/main_IMG1922.JPG,但我想要 /event/1/main/IMG1922.JPG。

谢谢!

4

1 回答 1

0

您可能可以覆盖此carrierwave wiki页面full_filename上显示的和full_original_filename方法

这是他们展示的将文件名从 更改为 的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
于 2013-07-07T23:54:57.160 回答