ASP.NET从fTP下载未经授权的访问

问题描述:

我的代码可以在这里找到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

我怀疑这个错误是由于从一个文件夹路径创建一个文件流。检查要构建你的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

对不起,如果它不清楚它是在我的用户文件夹中,但它没有工作的原因是我格式错误的fileStream。我授予所有用户访问权限,以查看VS是否冒充了我不在(来自谷歌)的用户,并且这不起作用。然而,这两个问题都会返回相同的错误,所以它可能有点模糊,这会让大多数谷歌错误的人感到困惑。 – h34dhun73r 2010-08-31 16:24:40