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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |