2010-08-31 62 views
1

我的代碼可以在這裏找到c# asp.net FTP Error 我試圖從FTP服務器下載文件,當我嘗試下載它說我沒有訪問我一直在使用Google搜索這一切早上,並沒有任何運氣。我去了指定的文件夾,並添加了所有人的完整權限,希望我錯過了一個用戶,並沒有工作。我嘗試給予我自己,匿名用戶,網絡服務和我發現的其他一些用戶的完全權限。我一直在使用ASP.NET從fTP下載未經授權的訪問

<identity impersonate="true" /> 

<identity impersonate="true" userName="myfullusername" password="mypassword"/> 

我仍然沒有任何運氣試圖完整的錯誤我得到的是:

System.UnauthorizedAccessException:對路徑「C:\用戶\ myname \ Documents'被拒絕。 (System.IO.FileStream.Init(String path,FileMode mode,FileAccess access,Int32 rights,Boolean useRights,FileShare share,Int32 bufferSize,FileOptions選項,SECURITY_ATTRIBUTES secAttrs)上System.IO.__錯誤.WinIOError(Int32錯誤碼,字符串maybeFullPath) ,字符串msgPath,布爾bFromProxy,布爾useLongPath)

我得到的任何幫助非常感謝大家。

+0

該路徑是本地路徑還是遠程文件的路徑?你可以使用FTP客戶端手動下載文件嗎? – 2010-08-31 16:04:25

+0

該路徑是一個本地路徑,我可以使用FileZilla – h34dhun73r 2010-08-31 16:06:21

回答

1

我懷疑這個錯誤是由於從一個文件夾路徑創建一個文件流。檢查要構建你的FileStream使用調試器,看看有什麼是獲得通過的線

下面是我在我的機器上跑了一個例子:

// "Access to the path 'C:\users\myid\Documents' is denied." 
var nostream = new System.IO.FileStream(@"C:\users\myid\Documents", FileMode.Create); 

// OK 
var okstream = new System.IO.FileStream(@"C:\users\myid\Documents\myfile.txt", FileMode.Create); 

順便提一下,你可能已經知道,您可以方便地組合路徑,而無需擔心斜槓的方向,或左側是否有斜線,使用System.IO.Path

Path.Combine(@"C:\users\myid\Documents", "myfile.txt"); 

我希望這會有所幫助。祝你好運!

+0

下載它,這再次正確,感謝您的幫助2x現在在連續kbrimington。 :) – h34dhun73r 2010-08-31 16:16:51

+0

@ h34dhun73r - 我的榮幸。祝你好運! – kbrimington 2010-08-31 16:29:50

0

當你不是用戶時,在用戶配置文件內部做事情通常有點棘手 - 有幾個安全設置可以保護它,而不是授予每個人的訪問權限。是否有任何理由需要在您的文檔文件夾中,或者它是否可以登陸到磁盤上的其他地方。

+0

對不起,如果它不清楚它是在我的用戶文件夾中,但它沒有工作的原因是我格式錯誤的fileStream。我授予所有用戶訪問權限,以查看VS是否冒充了我不在(來自谷歌)的用戶,並且這不起作用。然而,這兩個問題都會返回相同的錯誤,所以它可能有點模糊,這會讓大多數谷歌錯誤的人感到困惑。 – h34dhun73r 2010-08-31 16:24:40