繁体   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