私は、ServiceStack、Mono For Android、MonoTouchを使用するAndroidおよびiPhone用のモバイルアプリに取り組んでいます。アプリの一部を使用すると、ユーザーはサーバーにファイルをアップロードできます。これは、現在「JsonServiceClient.PostFileWithRequest(string RelativeOrAbsoluteUrl、Stream fileToUpload、string fileName、objectrequest)」メソッドを介して実行しています。これは正常に機能していますが、送信されたデータを示すプログレスバーを表示したいと思います。
これを初めて試みたときは、Streamをラップし、データがストリームから読み取られるときにProgressChangedイベントを定期的に発生させるクラスを作成しました。残念ながら、これはうまく機能しません。すべてのデータが送信者の前にストリームから読み取られるようです(少なくとも、私がテストした90Mbまでのファイルの場合)。その結果、プログレスバーは100%まですばやく実行され、データが実際にサーバーに送信されている間は100%のままになります。最終的に、PostFileWithRequest()呼び出しが完了し、ファイルは正常に転送されますが、プログレスバーの動作は理想的とは言えません。
ファイルのアップロードの進行状況をより正確に表す進行状況の更新を取得する方法について誰かが提案を持っていますか?