Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用webclient从C#中的media fire下载文件?_C#_File_Download - Fatal编程技术网

如何使用webclient从C#中的media fire下载文件?

如何使用webclient从C#中的media fire下载文件?,c#,file,download,C#,File,Download,我正在使用webclient从media fire下载文件,但下载链接每隔几天就会更改,并且只在我的计算机上运行。我不想使用某种API或任何东西,因为它应该是一个简单的过程。我也考虑过其他网站,但没有一个能给我直接的下载链接。这是我的密码: public void downloadMod(string url, string location, string destination) { this.location = location; thi

我正在使用webclient从media fire下载文件,但下载链接每隔几天就会更改,并且只在我的计算机上运行。我不想使用某种API或任何东西,因为它应该是一个简单的过程。我也考虑过其他网站,但没有一个能给我直接的下载链接。这是我的密码:

    public void downloadMod(string url, string location, string destination)
    {

        this.location = location;
        this.destination = destination;

        using (WebClient webClient = new WebClient()) {

            Show();

            webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(onModDownloadCompleted);
            webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(onModDownloadProgressChanged);

            Uri URL = url.StartsWith("http://", StringComparison.OrdinalIgnoreCase) ? new Uri(url) : new Uri("http://" + url);

            try
            {

                webClient.DownloadFileAsync(URL, location);

            }
            catch (Exception ex)
            {

                Console.Write(ex.Message);

                Close();

            }

        }

    }

    private void onModDownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
    {

        lblProgress.Text = e.ProgressPercentage.ToString() + " %";
        progress.Value = e.ProgressPercentage;

    }

    private void onModDownloadCompleted(object sender, AsyncCompletedEventArgs e)
    {

        unZipFile(location, destination);

    }

非常感谢您的帮助

您为什么不使用“媒体之火”似乎为您提供的功能?只要浏览一下API,就会有一个调用来获取您正在寻找的下载链接。假设你今天能弄清楚下载链接是如何生成的,那么当Media Fire改变生成这些链接的方式时,明天会发生什么?您的代码可能不再有效。如果你使用他们的API,它应该工作,不管它们做了什么变化。

如果你删除了空白行IMO,你的代码将更可读。