0

AFHTTPRequestOperation を使用して、1 ~ 6 個の画像を Web サーバーにアップロードします。奇妙なことに、「setUploadProgressBlock」で進行状況を報告すると、totalBytesWritten が 32,768 32,768 32,768 32,768 3,238 2,420 2,420... と報告され、残りの最後のチャンクまで 2420 が繰り返されます。

UIProgressView を使用してアップロードの進行状況を報告していますが、最初のチャンクが等しくない (32,768 バイトのチャンク) ため、すぐに 30% 程度に跳ね上がります。基本的に最初の 4 つの大きなチャンクを無視するようにこれをごまかしましたが、なぜこれを行うのか、またはそれを処理するためのよりエレガントな方法について誰かが説明を持っているかどうか疑問に思っています。また、すべてのバイトが書き込まれたことを報告すると、数秒間「何もせずに」そこにとどまり、不当に長い遅延のように見えます。UIActivityIndi​​cator(スピナー)で対応したのですが、遅延が長すぎて困っています。3g がターゲット環境になるため、これは 3g でテストされていることに注意してください。

4

1 に答える 1

0

bytesWrittenではなく、最後のバッチでアップロードされたバイト数を報告するの値を読み取っていないことを再確認できますtotalBytesWrittenか? または、複数のアップロードが同時に実行されている可能性があり、これらすべてを同じコールバックでログに記録すると混乱する可能性があります。

数秒間の「何もしない」状態は、サーバーからの応答を待っている可能性があります。それについての詳細はありますか?

于 2012-04-09T00:08:09.447 に答える