2013-04-25 68 views
1

從我的FTP服務器下載並試圖用更新的文件覆蓋該文件後,我得到一個異常說:「處理了UnauthorizedAccessException」,即訪問路徑'C:\ My Program \ My Program \ bin \ Debug \ App_Data'被拒絕。寫入本地路徑時訪問被拒絕?

這是我的代碼如下所示:

private void downloadFile() { 
    WebClient wc = new WebClient(); 
    wc.Proxy = null; 
    wc.Credentials = new NetworkCredential("user", "pass"); 

    byte[] fileData = wc.DownloadData("ftp://user:[email protected]/updates/App_Data/log.txt"); 
    File.WriteAllBytes(Application.StartupPath + "\\App_Data", fileData); 
} 

我只是失去了一些東西設置成WebClient實例可以允許「File.WriteAllBytes」寫入文件,我從我的FTP下載服務器到我的本地機器?

+0

我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2013-04-25 01:50:52

回答

0

如果你仔細想想,這顯然與WebClient無關。如果你採用了從WebClient得到的同樣的字節序列,並試圖將它寫入同一個文件,你會得到相同的結果。

實際上,如果您嘗試寫入單個字節,並且可能爲零字節,則可能會得到相同的結果。

就像例外說,

訪問路徑 'C:\我的程序\我的程序\ BIN \調試\ App_Data文件' 被拒絕

是否App_Data文件夾甚至還存在?

+0

是的。這是從本地機器複製的路徑:「C:\ My Program \ My Program \ bin \ Debug \ App_Data」,這是Intellisense向我展示的路徑:「C:\\ My Program \\ My Program \\ bin \\ Debug \\ App_Data「 – avidprogrammer 2013-04-25 01:55:18

+0

然後我猜你沒有寫權限。就那麼簡單。 – 2013-04-25 01:58:10

+0

解決了它。它必須在App_Data之後包含文件名 – avidprogrammer 2013-04-25 02:00:09