2

いくつかの背景: 私がやっていることは、サーバー ディレクトリ内のすべての画像のサムネイルを動的に表示するギャラリーを作成することです (サムネイルはキャッシュされますが、心配しないでください)。ユーザーがサムネイルをクリックすると、画像の準備が整うまで読み込み中の gif が表示され、その後画像が表示されます。実際の画像はサイズが非常に大きく、ユーザーのコンピューターにダウンロードするにはかなりの時間がかかる場合があります。

私がやりたいのは、読み込み中の gif の再生中にダウンロードされた画像の割合を表示することです。

このような質問は他にもあることに気付きました。また、これまでに行った調査から、サーバー側のトリックなしではこれを達成できない可能性があることも認識しています。

最後の少しで遭遇したことから、クライアント側のコードは、受信したバイト数を知っているが、大きさを知っていないということを収集しました(間違っている可能性があるので、間違っている場合は修正してください)ファイルは.

クライアント側のJavaScriptがWebサーバーディレクトリから画像をロードし、ダウンロードされた割合を計算できるように、いくつかのphp/javascriptトリックを使用して可能な構成はありますか?

おそらくphpコードがファイルサイズなどでクライアントに追加のヘッダーを送信していますか? または、ファイル サイズについて Web サーバーへの 2 番目の要求を開きますか? 現在ダウンロードされているバイトを取得するにはどうすればよいですか?

4

1 に答える 1

0

を使用XMLHttpRequest2してデータをロードし、進行状況イベントにフックできます。読み込まれたデータは base64 に変換され、Data URI に追加されます。読み込みが完了したら、構築された URI に新しい画像ソースを割り当てることができます。

詳細については、http: //blogs.adobe.com/webplatform/2012/01/13/html5-image-progress-events/をご覧ください。

于 2012-06-25T01:26:45.763 に答える