【发布时间】:2011-05-10 16:02:49
【问题描述】:
每当我单击 GUI 中的按钮时,都会执行此代码
this.file_name = @"c:\temp\file_" + DateTime.Now.Ticks / 10000 +".pdf";
client.DownloadFileCompleted +=
new AsyncCompletedEventHandler(pdfDownloadComplete);
client.DownloadFileAsync(new Uri(uri), file_name);
它应该下载一个pdf文件。我第一次点击它工作正常,但第二次它所做的只是在临时目录中创建一个空文件并且什么都不下载,然后我点击相同的按钮没有任何新的事情发生。
我不明白为什么它不会下载多次。
稍后编辑
这是http://pastie.org/private/y7na2f4fjdu6anzteoa所需的完整代码
我注意到,如果我删除检查内容类型的下载,应用下载文件没有问题
client.HeadOnly = true;
byte[] body = client.DownloadData(uri); // note should be 0-length
string type = client.ResponseHeaders["content-type"];
client.HeadOnly = false;
不过,我需要知道我是否从该 URL 获取文件的文本,因此我需要进行该调用。
【问题讨论】:
-
client是什么类型的?pdfDownloadComplete是做什么的? -
我添加了更多代码,这样事情就更清楚了。 pdfDownloadComplete 是一个空函数。