C#:Webclient在使用AsyncUploadData时分配块大小

时间:2010-01-25 09:22:42

标签: c# webclient uploaddataasync

我正在使用Webclient使用异步调用将数据上传到服务器,

    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 

    }

我正在尝试分配chunck /部分文件上传大小,以便在选定的定期时间调用回调函数。

注意:的 我知道我可以使用e.BytesSent来读取调用回调函数时发送的字节,但这不是我想要做的。

1 个答案:

答案 0 :(得分:2)

您无法定义该块大小,因为WebClient不会公开任何属性来处理它。

如果要控制数据包长度,则需要通过自定义代码传输文件,即循环浏览所需的块大小,并在服务器端实现System.Web.IHttpHandler重建文件按正确的顺序。