我正在使用 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
logger.writeToLog("Percentage =" + e.ProgressPercentage);
}
e.ProgressPercentage
总是返回50
.. 无论上传文件的大小是多少(尝试了 10kb 到 60mb 之间的不同大小)。函数本身只被调用两次(也非常快),百分比显示为 50!..这是不合逻辑的,特别是大文件...
e.BytesSent
也无济于事..它总是以字节为单位显示文件大小:S(例如:如果文件大小为 63,000 ,我会得到e.BytesSent = 63,000
和e.ProgressPercentage= 50
有人可以向我指出问题吗?