プロが教えるわが家の防犯対策術!

FlashActionScriptの『bytesLoaded』について質問です。

現在、PHP+FLASHで
プログレスバーを使って進捗状況を表示するアップローダーを作っています。

とりあえず完成して
プログレスバーが100%になったときにアップロードが完了するようになったのですが

アップローダーをテストサーバーから
本サーバーに移動したら
プログレスバーと実際のアップロード完了のタイミングに
誤差が生じるようになってしまいました。

そこで質問なのですが
bytesLoaded というプロパティは
サーバー側にアップロードされた一時ファイルのサイズなのでしょうか?

それともクライアントが送信したバイト数なのでしょうか?


分かる方いらっしゃいましたら教えてくださいませ。

よろしくお願い致します。

A 回答 (2件)

クライアントが送った、または受け取ったバイト数ですので


この質問への回答としては

>それともクライアントが送信したバイト数なのでしょうか?
ですね。

で、

>プログレスバーと実際のアップロード完了のタイミングに
>誤差が生じるようになってしまいました。

については、プログレスの100%はあくまで通信だけですので
クライアントから見た送受信データの後処理まで含めた完了は
Event.COMPLETE で仕掛けたイベントハンドラ内です。

サーバサイドの完了を待つ場合は、
HTTPStatusEvent.HTTP_RESPONSE_STATUS で仕掛けた
イベントハンドラ内でチェックします。(HTTPStatusEvent.status=200等)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

なるほど
送信バイト数もとれるんですね。

完了時のイベントまで教えていただいて
ありがとうございました!

お礼日時:2010/03/17 09:11

んあ?


bytesLoadedって、一般にSWFダウンロード待ちのNowLoadingなんかに使われる値ですよね。
SWFが何バイトダウンロードされたかであって、アップロードとは何ら関係がない。

仮にファイルのアップロードに3分掛かろうが、SWFの読み込みが10秒なら、10秒でプログレスは100%に達する。

というか、アップロードされたバイト数やら、一時ファイルサイズなんてASで取れないだろ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

そうなんです。
調べてみると
どれだけ読み込んだかという事ばかり書いてあります。

しかし
アップローダーのサンプルプログラムをいろいろ覗いてみると
totalとloadedのプロパティ値から現在の進捗を計算しているので

あれ?サーバーサイドでどれだけ読み込んだかをとってる?
と混乱してきたので質問しました。

お礼日時:2010/03/17 09:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!