私はEmber.js (2.13)
の上に構築されたアプリケーションを持っています。私はUser
モデルを持っており、この時点では私はアバターのアップロード機能に取り組んでいます。私がモデルを変更して保存すると、EmberはのAPIを要求します。Ember
シリアライザはniceオブジェクトを作成します。json-api
オブジェクトが好きです。Ember.jsのサーバー(またはS3)に画像をアップロードする正しい方法は何ですか?
私はサーバーに画像をアップロードする必要があるときに、ファイルデータを使用してPUT
リクエストをAPIに送信する必要があります。これには、jQuery
ajaxを使用できます。サーバーは画像のサイズを変更してトリミングし、ディスクに保存するか、S3
バケットにプッシュします。しかし、このリクエストは、Emberのシリアライザを迂回して、モデルへの参照なしに作成されるため、私はこの方法が嫌いです。だから私はUser
モデルにアップロードされたファイル名を設定し、私はサーバーに冗長な要求を持ってそれを保存する必要があります。
Ember.jsアプリでファイルをbase64
文字列に変換し、この文字列をUser
というモデルに設定して保存するという考えがあります。この場合、私はサーバーに1回のリクエストをします。これはファイルをアップロードするための良い方法ですか?
Ember.js
アプリケーションでファイルをアップロードすることをおすすめします。
はい、いいですね。しかし、私は 'ember-simple-auth'を使い、アクセストークンを要求する' Authorization'ヘッダを追加します。しかし、 'jQuery' ajaxを使うと、' ember-simple-auth'からアクセストークンを得るのに問題があります。いくつかのアイデアはありますか? – Dmitro
@Dmitro上記の例では、ヘッダ( '' this.get( 'session')。authorize '' piece)を追加しました。これは、ember-simple-auth docsがajax要求に使用することを推奨する方法です –