加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用Carrierwave将不同版本的图像存储到不同的

发布时间:2020-12-17 02:40:22 所属栏目:百科 来源:网络整理
导读:我想知道是否可以将不同的图像版本存储到不同的位置. 假设我有一些像这样定义的私有Carrierwave文件夹: def store_dir "#{Rails.root}/private/uploads/"end 以及上传图片的几个版本: version :medium do process :resize_to_limit = [400,400]endversion
我想知道是否可以将不同的图像版本存储到不同的位置.

假设我有一些像这样定义的私有Carrierwave文件夹:

def store_dir
    "#{Rails.root}/private/uploads/"
end

以及上传图片的几个版本:

version :medium do
    process :resize_to_limit => [400,400]
end

version :large do
    process :resize_to_limit => [800,800]
  end

version :thumb do
    process :resize_to_limit => [200,200]
end

我想在已定义的store_path中存储该图像的上传图像,中等版本和大版本,但是希望将鼠标版本提供给存储在公共文件夹中的用户,例如在该默认公用文件夹中:

def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end

我怎么能做到这一点?谢谢!

解决方法

您只需要在版本块中覆盖store_dir.所以对你的例子来说,

version :medium do
  process :resize_to_limit => [400,400]
end

version :large do
  process :resize_to_limit => [800,800]
end

version :thumb do
  process :resize_to_limit => [200,200]

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读