2016-07-18 11 views
0

私はユーザーが画像をアップロードできるようにするアプリを持っています。私はパススルーではなく、画像directly to AWS S3をアップロードさせるように取り組んでいます(パススルーを使用している場合は、Heroku dynosを本当に結びつけているような音です)。しかし、アップロードしたアセットへの変換を実行したいと考えています(たとえば、サイズ変更、イメージの圧縮、ファイルサイズの縮小、サムネイルの作成など)。ファイルはS3に直接アップロードされているため、Amazonへのアップロードが完了するまでは変換を実行できません。HerokuノードアプリからS3に直接アップロードされた画像を変換する方法は?

私はこれを処理するための最良の方法のわからないんだけど、私は考えている:

  1. ユーザーが直接S3にアップロードされたファイルの入力フォームフィールドを介して画像をアップロードします。
  2. 正常に完了すると、Amazonの画像URLがHerokuデータベースに保存されます。
  3. 次に、私はその画像を撮って、それらのすべての変換を実行することができます。
  4. イメージをクロップされた、圧縮された、サムネイル化されたバージョンとしてS3に再アップロードします。
  5. Herokuデータベースで編集した新しい画像のURLを保存します。

これはこの問題を解決するためのベストワークフローですか、より効率的なソリューションですか?ありがとう!

AWSラムダと画像処理

画像がアップロードされたときにAWSラムダ関数をトリガするために、あなたのAmazon S3バケットを設定します。ここでは

+1

はいこれは、あなたが従う正しい、ベストプラクティスのワークフローです。この記事をチェックしても、同じ作業フローに従います。 PHPの場合のみhttps://aws.amazon.com/articles/PHP/1602 – error2007s

答えて

1

は、Herokuの中の再処理画像にはいくつかの選択肢があります。ラムダ関数は画像を自動的に変換することができます。

参照:Tutorial: Using AWS Lambda with Amazon S3

は、例えば、オンデマンドで画像を変換することができ、オンラインサービスを使用し、代わりに画像を変換して保存するので検索

時に画像を変換:

+0

ありがとうジョン!私はこのサービスが提供されたことを知らなかった。私が達成しようとしているものは、もっとシンプルで楽しい解決策のように思えます。再度、感謝します。 – hidace

関連する問題