c#程序没有下载文件测试,看看我是否可以对我的程序进行更新

本文关键字:程序 我的 更新 是否 看我 有下载 文件 测试 | 更新日期: 2023-09-27 18:16:24

我创建了一个程序来下载一个*.zip*文件,下载进度显示在一个progressBar中。该程序然后提取*.zip*文件。这是我目前得到的,update path指向这里:

string updatepath = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "updatetest";
 public void downloadfile()
 {
        //client.DownloadFile("http://elfenliedtopfan5.co.uk/update/elfenlied_weapons.zip", updatepath);
        WebClient client = new WebClient();
        client.DownloadFileAsync(new Uri("http://elfenliedtopfan5.co.uk/update/elfenlied_weapons.zip"), updatepath);
        client.DownloadProgressChanged += client_DownloadProgressChanged;
}
void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
        int bytesin = int.Parse(e.BytesReceived.ToString());
        int totalbytes = int.Parse(e.TotalBytesToReceive.ToString());
        int kb1 = bytesin / 1024;
        int kb2 = totalbytes / 1024;
        label1.Text = kb1.ToString() + "KB out of " + kb2.ToString() + "KB (" +e.ProgressPercentage.ToString() + "%)";
        progressBar1.Value = e.ProgressPercentage;
}
public void seeiffile()
{
        // Set to folder path we must ensure exists.
        string updatepathex = updatepath;
        try
        {
            // If the directory doesn't exist, create it.
            if (!Directory.Exists(updatepathex))
            {
                Directory.CreateDirectory(updatepathex);
            }
        }
        catch (Exception e)
        {
            MessageBox.Show(e.Message);
        }
}
// if all above works then follow this 
public void exactzip()
{
        using (ZipFile zip = ZipFile.Read(updatepath + "elfenlied_weapons.zip"))
        {
            foreach (ZipEntry e in zip)
            {
                e.Extract(updatepath);
            }
        }
}
private void button1_Click(object sender, EventArgs e)
{
        seeiffile();
        downloadfile();
}

我的问题是文件不会下载,progressBar也不会移动。我不明白为什么它不工作

c#程序没有下载文件测试,看看我是否可以对我的程序进行更新

DownloadFileAsync的第二个参数需要是文件名,而不仅仅是路径。

string file = Path.Combine(updatePath, "test.zip")
client.DownloadFileAsync(new Uri("http://elfenliedtopfan5.co.uk/update/elfenlied_weapons.zip"), file);

还应该在updatepath变量上使用Path.Combine(),否则ProgramDataupdatetest之间不会包含目录分隔符。