EXE 文件大小为 0 字节下载后
本文关键字:字节 下载 小为 文件 EXE | 更新日期: 2023-09-27 18:35:20
我正在使用Web客户端下载C#wform应用程序,所有文件都很好,除了应用程序.exe,应用程序.exe.config和app.pdb。文件大小为 0 字节。在我的网络酒店,文件大小很好,但下载后是错误的。
这是我用来下载的代码:
private void downloader()
{
string desktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
if (!System.IO.Directory.Exists(folderBrowserDialog1.SelectedPath))
System.IO.Directory.CreateDirectory(folderBrowserDialog1.SelectedPath);
WebClient client = new WebClient();
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
var xdoc = XDocument.Load("http://Mywebsite.Mine/Programs/PatientStorage/update.xml");
var items = from i in xdoc.Root.Elements("item")
select new
{
Url = (string)i.Element("url"),
Name = (string)i.Element("name")
};
foreach (var item in items)
{
if (nummer >= urls.Length)
Array.Resize(ref urls, urls.Length + 1);
urls[nummer] = item.Url;
if (nummer >= names.Length)
Array.Resize(ref names, names.Length + 1);
names[nummer] = item.Name;
nummer++;
}
var UrlsAndNames = urls.Zip(names, (u, n) => new { urls = u, names = n });
foreach (var nw in UrlsAndNames)
{
AgainConf:
try
{
DateTime startagain = DateTime.Now.AddSeconds(1);
while (DateTime.Now < startagain)
{
this.Refresh();
this.Invalidate();
}
currentDownload = nw.names;
client.DownloadFileAsync(new Uri(nw.urls), folderBrowserDialog1.SelectedPath + @"'" + nw.names + "");
this.Refresh();
this.Invalidate();
}
catch
{ goto AgainConf; }
}
}
我的文件怎么会丢失所有代码?我用记事本查看文件,根本没有代码。当我直接从我的网络酒店下载应用程序.exe文件时,代码一直在那里,但应用程序没有显示。
如果您需要更多信息,请告诉我。任何帮助将不胜感激,提前感谢。
编辑:
现在,当我直接从网络酒店下载文件时,程序窗口就会显示出来。我相信这是因为通过程序下载文件时出现问题,所以出错了。一件奇怪的事情是:当我使用 try catch 循环时,我在下载文件时没有收到任何错误。实际上,下载另一个文件时出现错误,但该文件完好无损。
这可能是因为这些文件共享相同的名称(扩展名不同)。