2016-07-12 3 views
0

ローカルファイルをs3にアップロードし、そのリンクをデータベースに保存する必要があります。今私はbase64に画像を変換して、それをs3に保存してURLを返す私のレールサーバーに送ります。次のHTTPリクエストでこのURLを送信します。さて、私はエクスプレスを介してそれを保存する方法については、リンクを取得し、要求に使用します。より良いアプローチは何ですか?ミドルウェアまたはバックエンドサーバーを使用していますか?画像アップロード:Base64 to postリクエストまたはExpress Js Middelware

答えて

1

ファイルをアップロードするには、multerミドルウェアを使用することをお勧めします。これは、ネイティブのマルチパート実装がややこしいためです。アマゾンとの対話のためにs3ミドルウェアが使用されています。上記の例では

fs.createReadStream(rqPath).pipe(res); 

は、ファイルをローカルシステムから読み込まれ、応答にパイプされます。

あなたはパイプを使用することができますどこかにファイルを送信します。それでも、私は同じ問題に苦しんでいたこれを理解しようとしている場合

すべての言及のモジュールはNPM

+0

それは良いアプローチですか?ポストリクエストでbase64をレールサーバーに送信するのはどうですか? – RBS

+0

私の謙虚な意見では、ファイルをバイナリからテキストへのエンコードに変換する必要はありません。ノードでそれを取得し、それをすべての方向にパイプします。 RoR側では、multipart/form-dataはアプリのパフォーマンスを改善します。ファイルをRoRに送信する最も良い方法は、このモジュールです。http://npmjs.com/package/request –

0

で見つけることができ、対処することなく、直接体内に(BASE64から変換)バイナリデータをPOSTすることを決定しましたこれを簡単にするためにbase64-image-uploadパッケージを作成しました。

関連する問題