Paperclip将原始图像存储在“原始”文件夹中。有没有办法调整原始图像的大小?我想缩小原件以节省光盘空间。
因此,例如,如果访问者使用2592x1936上传照片,我想将其存储为1024x1024,就像我们设置以下尺寸一样:拇指图像:样式
更新(已解决)
我发现了如何在上传时自动调整原始图像的大小。只需要将:原始添加到样式:
class MyModel < ActiveRecord::Base
has_attached_file :photo,
:styles => { :original => "1024x1024>", :thumb => "150x150>" }
end
答案 0 :(得分:2)
我不确定paperclip是否会自行调整大小。您可能需要查看Rmagick才能完成此操作。我会尝试让RMagick继续(或minimagick),然后使用before_save回调来执行您编写的:resize
方法,该方法告诉RMagic调整图像大小。您的方法可能如下所示:
class Image < ActiveRecord::Base
belongs_to :profile
before_save :resize
def resize
self.image = self.image.resize "1024x1024"
end
end
或
class Image < ActiveRecord::Base
belongs_to :profile
before_save do
self.image = self.image.resize "1024x1024"
end
end