繁体   English   中英

使用Amazon S3时的回形针错误

[英]Paperclip error when using Amazon S3

我正在使用Heroku和Amazon AWS(S3)在线迁移应用程序,并且遇到了我的profilepic模型错误的错误。

此模型管理个人资料照片。 它由2个回形针附件和其他几个领域组成,并依赖于另一个名为Professionnel模型。

这是模型:

class Profilepic < ApplicationRecord

  belongs_to :professionnel

  has_attached_file :image, styles: { original: "6000x6000", editable: "1200x1200", thumbnail: "400x400#"}
  validates_attachment :image, content_type: { content_type: ["image/jpeg", "image/gif", "image/png"] }, size: {less_than: 10.megabytes}

  has_attached_file :finalimage, styles: { medium: "500x500", small: "200x200"}, processors: [:cropper]

  attr_accessor :crop_x, :crop_y, :crop_w, :crop_h

end

第一附件:图像是用户上传的图像。 第二个图像(:finalimage)是Professionnel用户对其进行编辑(使用cropper.js)后的裁剪图像。

一切都在本地完美运行

不过,上传图片时,以下代码将返回Paperclip :: Errors :: NotIdentifiedByImageMagickError

触发此错误的代码位是:

nouvelleppic.ratiolongdivlarg = Paperclip::Geometry.from_file(nouvelleppic.image.path(:original)).width / Paperclip::Geometry.from_file(nouvelleppic.image.path(:original)).height

在这段代码中,我将在Paperclip几何函数的帮助下发现宽高比。

不知道怎么了。 它确实可以在本地完美地工作,并且在:image成功保存到我的S3存储桶中之后,我正在查询此信息(我在S3控制台中检查了)

我需要这个比率来创建视图,该视图将允许用户裁剪图像并将其转换为:finalimage。 真的很有趣,当迁移到Heroku / S3时它不起作用,因为它是Paperclip中的简单几何函数。 上传没有问题...

编辑编辑

似乎确定了问题:

https://github.com/thoughtbot/paperclip/issues/2198

我刚刚在Heroku Cedar14堆栈上检查了Imagemagick版本:6.7.7-10 !!

Version: ImageMagick 6.7.7-10 2016-11-29 Q16 http://www.imagemagick.org

如上面git线程中所建议的,是否有一种方法可以在Heroku上升级ImageMagick?

该线程如何在Heroku上使用Imagemagick的最新版本? 似乎建议我们可以做到(第二个答案)

回答您的第二个问题。 在heroku上更新Image Magic的方法是使用buildpack。 就像您现在拥有Ruby构建包一样,您将必须添加Image Magic构建包。 Heroku有一个专门的页面用于Image Magic buildpack:

https://elements.heroku.com/search/buildpacks?utf8=%E2%9C%93&q=imagemagick

这个(下)似乎是最受欢迎的,但是可以随意浏览: https : //elements.heroku.com/buildpacks/mcollina/heroku-buildpack-imagemagick

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM