2012-02-10 21 views
5

私はcarrierwaveを使用してamazon s3に画像をアップロードしています。これは開発ではうまくいきますが、私がサーバーにプッシュするときにはうまくいかない(エンジンヤードクラウドトライアル)。s3へのアップロード時に画像の破損が発生しました。 (搬送波、エンジンヤード)

プロセスは正常に動作し、エラーはスローされず、リンクが戻されます。しかし、実際の画像は何とか壊れています。

ここで例えば、一つだ:https://s3.amazonaws.com/ZenBucket/uploads/goal/photo/30/guinness-toucan.jpg

は、誰もがそれが破損されていますどのように私を伝えることができ、またはそれをやって何だろうか?

編集:展開後の最初の画像アップロードの試行は、常に失敗するようですが、エラーはログに表示されません。それが関連しているかどうかはわかりません。

Edit2:carrierwaveではなくdragonfly gemでも発生しているようです。

おかげ

+0

他にもこれが発生していますか? (アップフォースから集まるので) –

+0

あなたはアップロードしようとしている元のソースイメージを提供できますか?すべてのイメージが破損しているか、 – Dan

+0

オリジナルは次のとおりです:http://yfrog.com/ms0pubj - すべての画像が破損しています。あなたがこれを理解することができたら、私は賞金を引き上げる –

答えて

0

を(httpsでおそらく)のJRuby上のgzip圧縮で問題となっているようですそれは解決されました。誰かが私のスタックからバージョン番号を必要とするならば、私は義務づけることができます。

0

それが唯一のデプロイ後の最初の画像の上に発生した場合、私は、高いCPU使用率を引き起こし、アップロードプロセスを遅く、あなたのアプリがまだロードされた(あるいは、少なくともいくつかの労働者がいる)と思われるでしょうタイムアウトになり、同時にイメージを破損させる可能性があります。

私はEngine Yardが最初のリクエストでのみアプリをリロードすると想定しています。これはその理由です。デプロイ後にアプリを「カール」させ、数分待ってそれが役立つかどうかを確認する必要があります。

EC2の小規模なインスタンスは単一のコアを持ち、多くのワーカーを再起動すると非常に遅くなる可能性があります。

+0

あなたが言うことは真実です。最初のリクエストがロードされるのに時間がかかるのですが、問題の原因にはなりません –

0

ここで説明するように、EngineYardためcarrierwave /霧のセットアップを通過します:ここに http://www.engineyard.com/blog/2011/a-gentle-introduction-to-carrierwave/ とを: あなたの "霧" 公共のセットを "false" または "true" にはhttp://docs.engineyard.com/use-carrierwave-and-optionally-fog-to-upload-and-store-files.html

ですか?それは「偽」なら、あなたが代わりに返される内容の「authenticated_url」プロパティを使用する必要がありますように、このスレッドをチェックしてください。 http://groups.google.com/group/carrierwave/browse_thread/thread/2f727c77864ac923

+0

残念ながら、ファイルはs3パネルから直接破損しています –

関連する問題