Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从fTP下载时ASP.NET未经授权的访问_C#_Asp.net_File Io_Ftp - Fatal编程技术网

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

C# 从fTP下载时ASP.NET未经授权的访问,c#,asp.net,file-io,ftp,C#,Asp.net,File Io,Ftp,我的代码可以在这里找到 我试图从FTP服务器下载一个文件,当我试图下载它时,它说我没有访问权限。我整个上午都在谷歌上搜索,没有任何运气。我去了指定的文件夹,添加了所有具有完全权限的人,希望我缺少一个用户,但这不起作用。我尝试给我自己、匿名用户、网络服务和我找到的其他一些用户授予完全权限。我试过使用 <identity impersonate="true" /> 及 我仍然没有任何运气,我得到的全部错误是: System.UnauthorizedAccessException

我的代码可以在这里找到 我试图从FTP服务器下载一个文件,当我试图下载它时,它说我没有访问权限。我整个上午都在谷歌上搜索,没有任何运气。我去了指定的文件夹,添加了所有具有完全权限的人,希望我缺少一个用户,但这不起作用。我尝试给我自己、匿名用户、网络服务和我找到的其他一些用户授予完全权限。我试过使用

<identity impersonate="true" />


我仍然没有任何运气,我得到的全部错误是:

System.UnauthorizedAccessException:对路径“C:\Users\myname\Documents”的访问被拒绝。在System.IO.FileStream.Init(字符串路径、文件模式、文件访问权限、Int32权限、布尔用户权限、文件共享共享、Int32缓冲区大小、文件选项选项、安全属性secAttrs、字符串msgPath、布尔bFromProxy、布尔useLongPath)处的System.IO.Error.WinIOError(Int32 errorCode、字符串maybeFullPath)


非常感谢您的帮助。

我怀疑错误是由于从文件夹路径创建文件流所致。使用调试器检查构建
文件流的行,查看传入的内容

下面是我在机器上运行的一个示例:

// "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");

我希望这有帮助。祝你好运

我怀疑该错误是由于从文件夹路径创建文件流造成的。使用调试器检查构建
文件流的行,查看传入的内容

下面是我在机器上运行的一个示例:

// "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");

我希望这有帮助。祝你好运

当你不是用户时,在用户配置文件中做一些事情通常有点棘手——有一些安全设置保护它,而不是让每个人都可以访问。是否有任何理由需要将其放在您的文档文件夹中,或者可以将其放在磁盘上的其他位置。

当您不是用户时,在用户配置文件中执行操作通常有点棘手——有一些安全设置保护它,而不是让每个人都可以访问。是否有任何原因需要将其放在您的文档文件夹中,或者是否可以放在磁盘上的其他位置。

该路径是本地路径还是远程文件的路径?您可以使用FTP客户端手动下载该文件吗?路径是本地路径,我可以使用FileZillai下载该文件。该路径是本地路径还是远程文件的路径?您可以使用FTP客户端手动下载该文件吗?该路径是本地路径,我可以使用FileZilla下载该文件,这是正确的,再次感谢您的帮助,现在是连续两次(kbrimington.:)@h34dhun73r-我的荣幸。祝你好运这是正确的,再次感谢您的帮助,现在是连续两次(克布里明顿):)@h34dhun73r-我的荣幸。祝你好运很抱歉,如果不清楚它是否在我的用户文件夹中,但它无法工作的原因是我的文件流格式不好。我向所有用户提供了访问权限,以查看VS是否在冒充一个我不在(谷歌)上的用户,而这不起作用。但是,这两个问题都会返回相同的错误,因此可能会有点模糊,这会让大多数搜索错误的人感到困惑。如果不清楚它是否在我的用户文件夹中,很抱歉,但它不起作用的原因是我的格式不正确的fileStream。我向所有用户提供了访问权限,以查看VS是否在冒充一个我不在(谷歌)上的用户,而这不起作用。然而,这两个问题将返回相同的错误,因此它可能有点模糊,这将使大多数搜索错误的人感到困惑。