gpt4 book ai didi

ruby-on-rails - Carrierwave 未使用 rmagick 调整版本大小

转载 作者:太空宇宙 更新时间:2023-11-03 16:08:39 25 4
gpt4 key购买 nike

我正在尝试使用载波来管理图像。我的问题是我上传的图像的所有版本都已创建,但都是完整尺寸。代码:

class TechnologyImageUploader < CarrierWave::Uploader::Base

# Include RMagick or MiniMagick support:
include CarrierWave::RMagick

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

# Process files as they are uploaded:
#process :scale => [100, 100]

version :small do
process :resize_to_fit => [25,25]
end
version :medium do
process :resize_to_fit => [50,50]
end
end

所有图像版本都显示为原始上传的大小。

最佳答案

不确定你们是否因为与我相同的原因而遇到这个问题,但也许吧。我需要将上传的文件移动到私有(private)文件夹,我相信你也这样做了。

上传后我想删除缓存我做了什么:

after :store, delete_cache

def delete_cache( new_file )
FileUtils.rm_rf %{#{Rails.root.to_s}/public/uploads}
end

这样做的问题是,创建版本后,将触发 after :store,因此应用会删除缓存目录,因此其他版本方法无法再读取该文件。

对我来说,一个暂时的解决方案是将 cache_dir 移动到一个私有(private)文件夹。稍后我需要以不同的方式清空什么,我需要弄清楚,所以:

def cache_dir
%{#{Rails.root.to_s}/tmp/uploads}
end

关于ruby-on-rails - Carrierwave 未使用 rmagick 调整版本大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8640166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com