C#下载 - 有趣的错误

时间:2013-02-21 18:12:51

标签: c# downloading

我目前正在使用C#进行修补程序,但是有一个有趣的错误。 在代码中,所有链接都有一个循环文件​​名,程序需要下载它们。代码:(fájlNév= fileName,letöltött=已下载,összes= all,JelenlegiLetöltés= CurrentDownload,állás=州)

<!-- language: lang-c# -->
    private void button1_Click(object sender, EventArgs e)
    {
        WebClient myWebClient = new WebClient();
        string[] remoteUrl = new string[4] { "https://www.dropbox.com/s/62tt9w194xefk7t/", "https://www.dropbox.com/s/spni307vmk4zng9/", "https://www.dropbox.com/s/fsa29pelfwgk5ha/", "https://www.dropbox.com/s/mcn0wy2te4zqj1i/" };

        string[] fájlNév = new string[4] { "alut.dll", "DevIL.dll", "fltkdll.dll", "glew32.dll" };
        string fájlNévAlap = "BlackBox.dll", WebResource = null;

        int letöltött = 0;
        int össz = remoteUrl.Length;

        for (int i = 0, x = 0; i < remoteUrl.Length && x < fájlNév.Length; i++, x++)
        {
            WebResource = remoteUrl[i] + fájlNév[x];
            letöltött++;
            // MessageBox.Show(letöltött.ToString());
            jelenlegiLetöltés.Text = fájlNév[x]; 
            myWebClient.DownloadFile(WebResource,fájlNév[x]);
            double állás = letöltött / össz * 100;
            progressBar.Value = Convert.ToInt32(állás);
        }

所以,问题是,程序只下载第一个文件(4次),其他3个文件只是第一个文件的重命名版本。 有人能说出来是什么问题吗?

谢谢, TOMCO

这是显示错误的图像:http://img11.imageshack.us/img11/9339/erroraz.png(如您所见,所有文件大小都等于第一个文件的大小)

1 个答案:

答案 0 :(得分:0)

我只是尝试将这些代码复制到LINQPad中并运行它(进行一些小的改动,主要是重命名变量以便我可以轻松读取它们),并注意到下载的“文件”是HTML转储......那是你所看到的吗?

从第一眼看,您使用的简单URI似乎不足以用作下载链接 - 该HTML blob中的链接具有额外的查询字符串参数,如哈希等。

HTML中的示例链接:

https://dl.dropbox.com/s/62tt9w194xefk7t/alut.dll?token_hash=AAHQmybYdR44TRrS9bWQWV7jlZBzZQ-mmmjNy1Kv_qR4cg&amp;dl=1