我使用Webclient使用异步调用上传数据到服务器,
WebClient webClient = new WebClient();
webClient.UploadDataAsync(uri , "PUT", buffer, userToken);
Run Code Online (Sandbox Code Playgroud)
我已将DatauploadProgress和DatauploadCompleted事件附加到适当的回调函数
// Upload Date Progress
webClient.UploadProgressChanged += new
UploadProgressChangedEventHandler(UploadProgressCallback);
// Upload Date Progress
void UploadProgressCallback(object sender, UploadProgressChangedEventArgs e)
{
// Magic goes here
logger.writeToLog("Percentage =" + e.ProgressPercentage);
}
Run Code Online (Sandbox Code Playgroud)
将e.ProgressPercentage始终返回50..不管上传文件的大小(10KB尝试之间不同的尺寸60MB).函数本身只被调用两次(真的很快),百分比显示50!..特别是大文件不合逻辑......
e.BytesSent也没有帮助..总是以字节为单位显示文件大小:S(例如:如果文件大小为63,000,我会得到e.BytesSent = 63,000和e.ProgressPercentage= 50
有人能指出问题给我吗?