ユーザーがアップロードした画像を受け入れ、さまざまなサイズのサムネイルの生成、元の画像のチェックサム、重複のチェックなど、バックグラウンドで処理を行う必要があります。その後、ユーザーは自分の送信を確認できるようになります。
問題は、処理が完了する前にhttp応答が送信される可能性があることです。それでは、ユーザーに何を伝えればよいでしょうか。
私は4つのオプションを考えることができます:
- サムネイルには、「処理中」などの記号と説明を付けて、ダムのプレースホルダーを配置します。ユーザーは、システムをすでに信頼していて、システムが機能することを知っている場合を除いて、画像が表示されるまでf5キーを押す必要があります。
- スマートプレースホルダーを配置します。これは、JavaScriptアニメーションに加えて、準備ができたときにサムネイルをフェッチする繰り返しのajax呼び出しのようなものです。これはユーザーエクスペリエンスには最適ですが、サーバーにオーバーヘッドが発生する可能性があります。
- オーバーロードを回避するために非同期で処理を実行しますが、処理が終了するまで要求をブロックします。これは、製品を迅速に配信するための良い選択のように見えます。サーバーが同時に多くのアップロードを取得し始めた場合は、後で繰り返します。
- Webソケット?
他に選択肢はありますか?どちらがあなたに似合いますか?私が見ない長所/短所はありますか?