2017-04-16 10 views
0

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番目の答え)??

答えて

0

あなたの2番目の質問に答えてください。 herokuでImage Magicを更新する方法は、buildpackを使用することです。あなたが今Rubyビルドパックを持っているのと同じように、Image Magicビルドパックを追加する必要があります。 Herokuのイメージマジックbuildpacksのための専用のページがあります。

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

この1つは(下記)で最も人気があるようですが、周りに閲覧して自由に感じる: https://elements.heroku.com/buildpacks/mcollina/heroku-buildpack-imagemagick

+0

はこのためにありがとうございました。これは私がImageMagickのバージョンを変更できることを知って素晴らしいです。私はそれが私の問題を解決するだろうとは確信していませんが。 gitスレッドで修正された修正を試してみましょう。それは私よりもはるかに高度なRubyですが、試してみてください。 – Maxence

+0

愚かなこと:私は遠隔地に保管されている画像の寸法を調べています。モデルがまだ保存されていないのに、クリップクリップでまだ処理されていないイメージでも、このイベントをチェックすることはできませんか?一時ファイルと同じですか? – Maxence

+0

ねえ、それは持ってた! http://stackoverflow.com/questions/4065295/saving-the-images-dimensions-width-and-height-in-paperclip – Maxence

関連する問題