HerokuとAmazon AWS(S3)を使用してアプリケーションをオンラインで移行していて、profilepic
モデルで奇妙なエラーが発生しました。Amazon S3を使用しているときのペーパークリップのエラー
このモデルはプロフィール画像を管理します。それは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で)それを編集した後にトリミングされた画像でありますペーパークリップ::エラー:: NotIdentifiedByImageMagickError
このエラーをトリガーするコードのビットは次のとおりです。このコードのビットで
nouvelleppic.ratiolongdivlarg = Paperclip::Geometry.from_file(nouvelleppic.image.path(:original)).width/Paperclip::Geometry.from_file(nouvelleppic.image.path(:original)).height
、私はdiscoveですPaperclipジオメトリ関数の助けを借りて幅/高さ比をリングします。
何が問題なのかよく分かりません。私はS3のバケットに画像を保存しました(S3コンソールでチェックしました)
この比率が必要なのは、画像をトリミングして回転させるビューを作成するためですそれに:finalimage。 Heroku/S3に移行するときにはうまくいきませんが、これはPaperclipのシンプルなジオメトリ機能です。問題ありませんアップロード...
編集編集
は、問題が特定されるようだ:
https://github.com/thoughtbot/paperclip/issues/2198
私はちょうど私のHerokuのCedar14スタックにImageMagickのバージョンを確認:6.7.7-10 !!
上記のgitスレッドで提案されているように、HerokuでImageMagickをアップグレードする方法はありますか?
このスレッドHow can I use the latest version of Imagemagick on Heroku?は、私たちはそれを行うことができるようです(2番目の答え)??
はこのためにありがとうございました。これは私がImageMagickのバージョンを変更できることを知って素晴らしいです。私はそれが私の問題を解決するだろうとは確信していませんが。 gitスレッドで修正された修正を試してみましょう。それは私よりもはるかに高度なRubyですが、試してみてください。 – Maxence
愚かなこと:私は遠隔地に保管されている画像の寸法を調べています。モデルがまだ保存されていないのに、クリップクリップでまだ処理されていないイメージでも、このイベントをチェックすることはできませんか?一時ファイルと同じですか? – Maxence
ねえ、それは持ってた! http://stackoverflow.com/questions/4065295/saving-the-images-dimensions-width-and-height-in-paperclip – Maxence