2012-02-01 108 views
0

我想爲我遇到的問題創建一個快速修復。我需要做的就是從我的網站下載一個文件到本地計算機。從網站下載錯誤 - 找不到路徑的一部分

我使用ASP.NET和C#一個網站,我已經加入到下方點擊一個按鈕的代碼來下載文件:

Web客戶端Web客戶端=新的Web客戶端(); webClient.DownloadFile(「http://www.mysite.com/myfile.ext」,@「C:\ test \ myfile.ext」);

產生標題中的錯誤:

找不到路徑 'C:\測試\ myfile.ext' 的一部分。

該目錄確實存在於我的電腦上。

從我讀到的這似乎是在本地計算機上的權限問題。我在NETWORK SERVICE用戶的該目錄上添加了完整權限,因爲我正在運行Windows 7。我也有一個用戶,運行XP所以我相信用戶將有ASPNET

不用說,這一切都沒有工作,並允許我下載文件。我在這裏有點失控,所以我不知道該怎麼做。這可能是因爲我在正確的軌道上,只是錯過了一些明顯的東西,或者我可能離開了基地。

有人對我有一些指導嗎?

編輯

我越去想這個,我不禁想有一個更好的方式來做到這一點。

我以前從網站上下載過,無需處理權限,那麼更好的簡單方法是什麼?我在這裏錯過了什麼?

ANSWER

謝謝,我發現我從下面哈日的反應需要什麼。

+0

您無權寫入此文件,或者文件已準備好打開並鎖定。 – Aristos 2012-02-01 22:37:45

+0

相關文件位於網站的根目錄中。 – GRW 2012-02-02 15:56:59

回答

1

運行您的網站使用的應用程序池的用戶需要獲得讀取該文件的權限。所以,轉到IIS>應用程序池>找到一個爲您的網站>一個身份。

+0

我的網站託管在Go Daddy上,盡我所能,我一直無法找到配置應用程序池的選項。 – GRW 2012-02-02 15:54:26

+0

您如何期待godaddy爲您提供訪問c:驅動器上某個文件的權限?您只能訪問您的主機空間中的文件。你應該能夠從你的網站文件夾之外讀取文件,因爲它們仍然在你的託管文件夾中,並假設設置了這些權限(我確信有管理員選項可以設置對你在那裏創建的文件夾的讀/寫權限因爲我見過他們)。 – 2012-02-02 16:01:13

+0

此WebClient代碼在asp.net應用程序中運行,對不對?你想做什麼?從外部網站下載文件到由您的asp.net應用程序控制的磁盤空間,或者從您的asp.net應用程序將文件下載到您的磁盤,瀏覽器正在運行? – 2012-02-02 16:03:20

0

檢查應用程序池標識類型以確保您授予正確用戶的權限,有關更多詳細信息,請參見this website

+0

我的網站託管在Go Daddy上,盡我所能,我一直無法找到配置應用程序池的選項。 – GRW 2012-02-02 15:53:51

相關問題