1

複数のファイルを 1 つずつダウンロードする方法を教えてください。私のコードを使用しています。

        //Download File
    public void DownloadFile(string url, string folderfile)
    {
        WebClient wc = new WebClient();
        try
        {
            wc.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadCompleted);
            wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadChanged);

            wc.DownloadFileAsync(new Uri(url), folderfile);
        }
        catch (Exception ex)
        {
            MessageBox.Show("Error: \n\n" + ex.Message);
        }
    }

    private void DownloadChanged(object sender, DownloadProgressChangedEventArgs e)
    {
        double bytesIn = double.Parse(e.BytesReceived.ToString());
        double totalBytes = double.Parse(e.TotalBytesToReceive.ToString());
        double percentage = bytesIn / totalBytes * 100.0;
        int percente = int.Parse(Math.Truncate(percentage).ToString());

        PBar.Value = percente;

        progress.Text = percente + " %";
        size.Text = string.Format("{0} MB / {1} MB", (e.BytesReceived / 1024d / 1024d).ToString("0.00"), (e.TotalBytesToReceive / 1024d / 1024d).ToString("0.00"));
    }

    private void DownloadCompleted(object sender, AsyncCompletedEventArgs e)
    {
        if (e.Error != null)
        {
            MessageBox.Show("Erro: " + e.Error.Message);
        }
        else
        {
            info.Text = "Download Success.";
        }
    }

    public void CheckFileDownload()
    {
        string urlGame = "http://localhost/";
        string Game = "Game.exe";
        string Support = "Support.Xml";
        string Info = "Info.xml";
        if (!File.Exists(Game))
        {
            //Download Game
            DownloadFile(urlGame + Game, Game);
            info.Text = "Downloading: " + Game;

            //If the game is downloading full 
            DownloadFile(urlGame + Info, Info);
            DownloadFile(urlGame + Support, Support);
            info.Text = "Updating information...";
        }
    }

    private void Launcher_Load(object sender, EventArgs e)
    {
        CheckFileDownload();
    }

ゲームをダウンロードした後、チェックポイントファイルを更新する必要があるためです。

いくつかのトピックを見ましたが、成功しませんでした。私を助けてくれたみんなに感謝します...私の悪い英語でごめんなさい

私を助けてくれたすべての人に感謝します。とても感謝しています...

4

1 に答える 1