Ajax、Flash、Silverlight などを使用したアップロード コントロールが多数あるため、なぜ独自のものを作成する必要があるのかわかりません。それにもかかわらず、コンセプトは進行状況を照会して現在の状態を返すことです。 この男は同じプロセスを経て、 jQuery を使用してコンポーネントを構築する方法を示しています。
進行状況を表示するには、クライアントがサーバーからフィードバックを取得する必要があります。これは、進行状況を取得するためにサーバーに繰り返しクエリを実行することを意味します。その情報を使用して、クライアントに進行状況を表示します。
サーバーでは、受信ファイルのアップロードを受け入れるだけでなく、集計の進行状況で応答する必要があります。リクエストで Content-Length ヘッダーを渡せば簡単です。問題は、その情報を持っていることに頼ることができないということです。これに対処するための戦略がありますが、受信ビットを読み取る必要があるため、アップロードされたファイルを受け入れるコードが必要です。
この時点で、プログレス バーの範囲をはるかに超えたその他の注意事項があります。たとえば、Web サーバーのインプロセスでの大きなファイルのアップロードの処理などです (アウト プロセスは、サーバーへの悪影響がはるかに少なくなります。 )
関連する複雑さのため、独自のコンポーネントを作成するのではなく、既存のコンポーネントを見つけることをお勧めします。