簡體   English   中英

無法將文件從網絡下載到計算機上的文件夾中

[英]Trouble downloading a file from the web to a folder on my computer

我正在編寫一個程序,該程序基本上使用http://dev.maxmind.com/geoip/legacy/geolite/中的國家/地區的DAT文件來對IP地址進行一些分析。

但是,如果C:\\ ProgramData \\ IPChecker中的文件夾不存在(第一次),我創建它-沒問題,這可行。

但是,如果文件不在文件夾中-這不是我第一次運行該程序,也不是按計划的時間間隔獲取DAT文件的最新副本,那么我希望能夠從網上下載該文件並放入將其放入此文件夾。

我無法發布任何代碼,因為編輯器不允許我這樣做,而是使用URL和Path作為參數的簡單DownloadFile命令。

其中this.DataFolder是我剛剛創建的文件夾的路徑,或者要將壓縮文件復制到例如C:\\ ProgramData \\ IPChecker

然后,我將解壓縮該文件,以便可以使用它-如果可以的話。

我認為這兩行代碼可以滿足我的要求。

但是,我一直收到錯誤消息,說我沒有足夠的特權將文件移入文件夾。

我已經手動制作了該文件夾(我具有管理員權限),將路徑更改為c:\\的根目錄,下載文件夾以及PC上的其他文件夾,但是無論我嘗試下載並復制到哪個文件夾中,我總是能得到相同的權限被拒絕錯誤。

我嘗試將整個異常粘貼到此框中,但是如果我這樣做,編輯器將不允許我保存該帖子。 只是“消息=拒絕訪問路徑'C:\\ ProgramData \\ ProxyHunter'”。 來自“ System.IO .__ Error.WinIOError(Int32 errorCode,字符串mayFullPath)在System.IO.FileStream.Init(字符串路徑,FileMode模式,FileAccess訪問,Int32權限,布爾useRights,FileShare共享,Int32 bufferSize, FileOptions選項,SECURITY_ATTRIBUTES secAttrs,字符串msgPath,布爾bFromProxy,布爾useLongPath,布爾checkHost在System.IO.FileStream..ctor(字符串路徑,FileMode模式,FileAccess訪問)在System.Net.WebClient.DownloadFile(Uri地址,字符串)文檔名稱)”

任何人都可以認為正在發生什么事情或我需要做什么才能使WebClient.DownloadFile行工作而不會引發權限被拒絕的錯誤?

我正在使用.NET 4.5

同樣,盡管例外情況表明我今天打開項目時是在VS 2010中(我確實在其中創建了原始項目),但該項目卻在VS 2012中打開。所以我不知道這是否與它有關。

任何幫助將非常感激。 謝謝

是的,我已經解決了。 基本上,我很討厭,因為我從中復制的代碼提供了文件夾路徑作為WebClient.DownloadFile(url,path)的第二個參數,而不是文件路徑。

一旦將路徑更改為文件路徑,而不僅僅是文件夾,則文件已正確下載到該位置。

感謝你的幫助!

您是否正在嘗試從網絡共享運行程序? 如果是這樣,則由於您的計算機安全策略,可能會限制該程序寫入本地驅動器。 嘗試將程序復制到本地磁盤並從那里運行。

如果本地工作,那么我建議考慮看看像其他的問題這一個

有關設置.Net安全策略的更多信息,請參見此處。

干杯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM