1

Webclientを使用して、サーバーへのAsync呼び出しを使用してデータをアップロードしています。

    WebClient webClient = new WebClient();
   webClient.UploadDataAsync(uri , "PUT", buffer, userToken);

DatauploadProgressイベントとDatauploadCompletedイベントを適切なコールバック関数に添付しました

        // Upload Date Progress
        webClient.UploadProgressChanged += new 
        UploadProgressChangedEventHandler(UploadProgressCallback);

      // Upload Date Progress
     void UploadProgressCallback(object sender, UploadProgressChangedEventArgs e)
    {
        // Magic goes here 

    }

選択した定期的な時間にコールバック関数が呼び出されるように、チャンク/部分ファイルのアップロードサイズを割り当てようとしています。

注:コールバック関数が呼び出されたときに送信されたバイトを読み取るために 使用できることはわかってe.BytesSentいますが、それは私がやろうとしていることではありません。

4

1 に答える 1

2

WebClientそれを処理するプロパティを公開していないため、そのチャンク サイズを定義することはできません。

そのパケット長を制御したい場合は、カスタム コードでファイルを転送する必要があります。つまり、目的のチャンク サイズをループして、サーバー側でSystem.Web.IHttpHandlerファイルを正しい順序で再構築するように実装する必要があります。

于 2010-01-25T09:28:14.820 に答える