我想它只是一個平庸而且很容易修復,我現在非常沮喪,因爲每當我找到一個想法構建我總是面臨某種問題,無論是在用戶界面部門或這個爲例。WebClient,我的文檔Windows 7 C#
我嘗試通過WebClient下載文件,我找到了一個簡單的用戶界面,兩個標籤,兩個文本框,一個按鈕,一個savefiledialog小部件。當我嘗試保存我輸入到第一個文本字段1的文件並且當按下按鈕來激活該事件時,我得到了一個webexception,「應用程序無法訪問該文件,因爲它被另一個進程使用」,但是阻礙了交易,我告訴我的應用程序創建該文件,將文件的內容從網絡保存到新文件中。
您從下面提供的代碼中進一步閱讀: 順便說一句,我沒有從調試中得到任何東西,我認爲這很奇怪。 我是否必須闖入斷點,因爲我認爲斷點會在行的末尾斷開?
在此先感謝。
private void button1_Click(object sender, EventArgs e)
{
string path = saveFileDialog1.FileName;
if (textBox2.Text != "")
{
string fileExt = textBox2.Text.Substring(textBox2.Text.LastIndexOf('.'));
saveFileDialog1.Filter = String.Format("fileExt | *{0}",fileExt);
// http://code.jquery.com/jquery-1.6.1.min.js
string fileName = textBox2.Text.Substring(textBox2.Text.LastIndexOf('/')+1);
saveFileDialog1.FileName = fileName;
DialogResult dResul = saveFileDialog1.ShowDialog();
if (dResul == DialogResult.OK)
{
Debug.WriteLine(client.ResponseHeaders);
//client.UseDefaultCredentials = NetworkCredential;
//client.DownloadDataCompleted += new DownloadDataCompletedEventHandler(client_DownloadDataCompleted);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
textBox1.Text = Path.Combine(saveFileDialog1.FileName);
//client.DownloadFileAsync(new Uri(textBox1.Text), saveFileDialog1.FileName);
path = saveFileDialog1.FileName;
Debug.WriteLine(client.ResponseHeaders);
client.DownloadFile(textBox1.Text, Path.Combine(path));
}
}
}
我沒有看到文件的URL 「告訴我的應用程序創建文件」的代碼,但假設您在某個時間點使用流,則需要明確調用它們的Close()來釋放文件。完成後,您還應該在對話框中調用Dispose()。 – Jay 2011-05-31 13:36:39