2012-01-31 17 views
0

私は、生産時にPaperclipファイルを保存するために、ローカルファイルシステムの代わりにS3を使用するようにアプリを設定しました。私のローカルマシン上では正常に動作します(私のS3バケットにあるpaperclipストアの添付ファイル)。 Herokuの上Paperclip + S3はHerokuではなくローカルで動作します

、それは動作しません、そして行動は奇妙です:一方

1 error prohibited this user from being saved: 
There were problems with the following fields: 

Avatar content type is not one of image/jpg, image/jpeg, image/png, image/gif 

ユーザーがサインした場合アップやプロフィール写真を添付し​​、[送信]をクリックし、私は、エラーメッセージが表示されましたアップロードされた画像が適切な形式で、ペーパークリップ+ S3 Herokuのなしで実行しているときに正常に処理されています...

Herokuのログが

Iヘクタール...何も言いませんheroku設定:heroku設定:バケット、access_keyとsecret_keyを追加します。

私は何かを忘れましたか?

何か助けてくれてありがとう!

+0

私はペーパークリップの経験がありません。しかし、ヒロクではファイルシステムに書き込むことはできませんので、ヒロクの唯一の書き込み可能なディレクトリを使用するようにpapersclipに伝える必要があります。 – lucapette

答えて

3

OK ...間違った推測...実際にはHerokuのせいではありませんが、 jpg 'ファイルを' image/pjpeg 'に変換し(たとえjpgがプログレッシブでなくても)、' image/png 'を' image/x-png 'のコンテンツタイプに変換します...

私のローカルマシンで行われたテストは、 Mozillaを使って行われましたが、HerokuのテストはIEで行われましたが、理由はわかりました。

すべてはChromeとMozillaで正常に動作しますが、/pjpeg '、' image/pjpg '、' image/x-png 'あなたの検証で受け入れられたイメージフォーマットのリストに!

+0

説明を追加するために!リンゴとリンゴを比較するのを忘れないでください。 –

0

これは、コンテンツの種類が何らかの理由で正しいと検証されていないようです。これは、プロダクションモードでアプリケーションをローカルで実行すると失敗するはずです(つまり、方程式からHerokuを除外する)

+0

アプリケーションモードをローカルで実行してもエラーが発生しないことを確認します(.jpgイメージはS3ディレクトリに保存され、すべてがスムーズで大丈夫です)。また、Herokuでアプリケーションを実行しているときのみ検証が失敗します... – citraL

関連する問題