【问题标题】:Paperclip cropping original image because of thumbnail回形针因缩略图而裁剪原始图像
【发布时间】:2014-07-28 14:53:48
【问题描述】:

所以我要做的是为缩略图制作一个集中裁剪的图像,然后保持原始图像不变,这样我就可以点击缩略图并将用户带到原始图像。

所以在我的模型中我有:

has_attached_file :image,
  default_url: "/assets/missing.png",
  url: "s3_domain_url",
  storage: :s3,
  s3_credentials: "#{Rails.root}/config/aws-#{Rails.env}.yml",
  s3_permissions: 'authenticated-read',
  path: "/users/:id/images/:basename.:extension",
  s3_server_side_encryption: :aes256,
  styles: { thumb: "200x200#" }

def s3_url(style = nil, expires_in = 30.seconds)
  if image.exists?
    image.s3_object(style).url_for(:read, :secure => true, :expires => expires_in).to_s
  else
    "/assets/missing.png"
  end
end

validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/

然后在我的 HTML 中,我得到了:<%= link_to image_tag(@challenge.s3_url(:thumb)), @challenge.s3_url(:original) %>

这应该允许用户点击缩略图,然后将他们带到原始图像。但目前它具有正确的裁剪缩略图,然后当用户单击它时,它会将他们带到裁剪缩略图的更大版本,而不是原始图像。

有什么方法可以做我想做的事吗?

【问题讨论】:

  • 如果你尝试@challenge.s3_url会怎样?
  • @MichalSzyndel,我也这样做了,这与 @challenge.s3_url(:original) 基本相同。它仍然像大拇指一样被裁剪,而我想要实际的原始图像。

标签: ruby-on-rails ruby paperclip


【解决方案1】:

问题与this SO question. 相同,基本上需要在路径中添加:style。现在它可以正常工作了。

所以现在看起来像:

has_attached_file :image,
  default_url: "/assets/missing.png",
  url: "s3_domain_url",
  storage: :s3,
  s3_credentials: "#{Rails.root}/config/aws-#{Rails.env}.yml",
  s3_permissions: 'authenticated-read',
  path: "/users/:id/images/:style/:basename.:extension",
  s3_server_side_encryption: :aes256,
  styles: { thumb: "200x200#" }

【讨论】:

    猜你喜欢
    • 2012-12-12
    • 1970-01-01
    • 2013-03-03
    • 2015-09-24
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    相关资源
    最近更新 更多