使用Paperclip删除原始附件但保留缩略图

4
有没有在Paperclip中的配置设置可以将原始图像缩小到特定大小而不是创建另一个文件版本?
如果用户上传750X750的图像,我想将其缩小到500x500。我永远不会使用750x750版本,所以没有理由保留它。
class User < ActiveRecord::Base
  has_attached_file :avatar, :styles => { :thumb => "500x500>" }
end
2个回答

7
有一种简单的方法可以覆盖这个。你所需要做的就是将你的样式设置为原始的:
class User < ActiveRecord::Base
  has_attached_file :avatar, :styles => { :original => "500x500>" }
end

它不会保存原始图像,而是将输入的图像修改为您的规格。然后,当您想要访问它时,您无需指定样式。
image_tag @user.avatar

改为:

image_tag @user.avatar(:thumbnail)

0

这可能不是最美观的解决方案,但可以起作用。我很好奇是否有更好的解决方案。

class User < ActiveRecord::Base
  has_attached_file :avatar, :styles => { :original => "500x500>" }
  after_create :delete_original_image

  def delete_original_image
    File.delete(self.avatar.path)
  end
end

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接