データモデルがユーザープロファイルであるとします。各レコードは、name
,age
,portrait
など(portrait
は画像)です。対応するRESTful要求が来る前にアップロードされたファイルを管理する方法
フロントエンドの編集ページでは、選択した直後にポートレート画像をアップロードして、最後の送信に時間がかかりません。
open front-end editing page
|
|
edit some fields
|
|
select an image for portrait ---.
| |
| |
| uploading...may take a while
| |
grab a cup of coffee |
| |
| |
edit other fields |
| |
| upload finished
| |
|---------------------------'
|
submit
|
|
respone
submit
ステップは、実際に{ name: 'John', age: 20, portrait: 'what should be here?' }
ようなものでバックエンドにPOSTリクエストを送信しています。問題は、要求データのportrait
フィールドにあるべきものですか?
アイデアを思いつきましたが、より良いものがあるかどうかわかりません。 バックエンドは、画像アップロードに対する応答として画像リソースを表すトークンを返します。フロントエンドはportrait
フィールドに設定されたそのトークンでデータを送信します。
もう1つ質問があります。ユーザーが編集をキャンセルしたらどうなりますか?アップロードされたファイルはまだサーバーのストレージに存在し、クリーンアップする必要があります。おそらく、ユーザーが「キャンセル」ボタンをクリックしたときにトークンを送信することができます。しかし、ユーザーが「キャンセル」ボタンをクリックせずに編集ページを出るだけの場合はどうでしょうか?
これを行うのがベストプラクティスですか?