【发布时间】:2015-08-05 14:38:54
【问题描述】:
我正在上传文件并获得这样的上传进度:
using (var wc = new WebClient())
{
wc.UploadProgressChanged += FileUploadProgressChanged;
wc.Headers.Add(HttpRequestHeader.ContentType, "image/png");
wc.UploadFileAsync(new Uri(url), filePath);
}
...
private void FileUploadProgressChanged(object sender, UploadProgressChangedEventArgs e)
{
ProgressBarUpload.Value = e.ProgressPercentage;
}
但是50%后e.ProgressPercentage返回-441850然后马上返回100。为什么会这样?
【问题讨论】:
-
ProgressBarUpload.Value是什么类型? -
我不确定在这里使用
using语句是否是个好主意,因为wc将在离开范围时被释放,并且事件处理程序将挂在已释放的对象上。尝试相同的代码,但没有using块。 -
@YuvalItzchakov ,ProgressBarUpload.Value 是 Double,e.ProgressPercentage 是 Int。但我不认为 this.e.ProgressPercentage 中的问题返回不正确的值
-
@Christian ,它不起作用。并且 FileUploadProgressChanged 工作正常。我写的是50%后返回错误值,然后马上到100%。
标签: c# wpf file-upload upload