2012-08-24 32 views
1

我的代碼如下。我試圖下載一個文件,並且我的應用程序給我提供了「文件名未找到 - 下載」,後面跟着這個代碼的「完成」,但是當我去看看沒有文件真的被下載時。WebClient未下載文件,但返回完成

private void Form1_Load(object sender, EventArgs e) 
    { 
     download(@"mp3spi.jar", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\.minecraft\bin\lob\"); 
    } 

    public void download(String filename, String path) 
    { 
     filenameLabel.Text = filename; 
     MessageBox.Show(filename + " Not found - downloading."); 
     WebClient webClient = new WebClient(); 
     webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed); 
     webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged); 
     webClient.DownloadFileAsync(new Uri("http://mysite.com/client/" + filename), path); 
    } 

    public void ProgressChanged(object sender, DownloadProgressChangedEventArgs e) 
    { 
     progressBar1.Value = e.ProgressPercentage; 
    } 

    private void Completed(object sender, AsyncCompletedEventArgs e) 
    { 
     MessageBox.Show("Finished."); 
    } 

有人可以指出我有什麼問題嗎?我想也許它需要以管理員身份運行,但這只是做了同樣的事情。

回答

2

你的代碼試圖保存到文件夾路徑(」 ... \ LOB \ 「),這是不喜歡(... \吊射\ my_file.ext」)的文件名。

WebClient.DownloadFileAsync(Uri Uri address, string fileName)

+0

啊,謝謝,它總是那些小事讓我:P我會在5分鐘內讓我接受:) – DannyF247

+0

@exacerbatedexpert,我用...只是因爲 - tripe-dot作爲替代「太重要了「。 –