如何在本地机器上创建目录
本文关键字:机器 创建目录 | 更新日期: 2023-09-27 18:00:17
我很想问,下面的代码出了什么问题,因为我一直试图在本地机器上创建一个文件夹,但它没有按照我的预期工作。它给了我一个错误说:
拒绝访问路径"C:''inetpub''wwwroot//PrintLabels/"
代码:
Directory.CreateDirectory(appPath + "//PrintLabels/");
如果您使用的是Windows Vista或更高版本,请首先关闭Visual Studio,然后右键单击其图标并选择以管理员身份运行选项。然后,当您执行代码时,它应该停止给出拒绝访问的异常。
指定的路径必须在同一台计算机上,或者也可以引用服务器和共享名称的相对路径或通用命名约定(UNC)路径。
必须是
string path = @"''172.16.136.35''SharedFolder1''";
IP地址将替换计算机名称的使用。不能同时使用它们。
string path = @"''ipaddress'comp_name'shared_folder'new_folder";
应为:
string path = @"''ipaddress'shared_folder'new_folder";
请注意,IP地址是共享文件夹所在的计算机,而不是您发送请求的计算机。
我认为这是使用AppPath的问题。这就是WWWrot的路。它是为创建网站。因此,您可能没有正确的访问权限。
您可以尝试其他具有正确访问权限的路径。
您的代码很可能(假设丢失了asp.net标记)正在asp.net应用程序中运行。根据所选的安全模型帐户,代码运行的帐户是浏览器用户的帐户或特殊的"匿名"帐户。likley的两个帐户都没有在"inetpub''wwwroot"文件夹中写入/创建文件夹的权限。
如果你真的想让这个访问-弄清楚用户代码在什么环境下运行(即在出现异常时检查Environment.UserName)-如果您可以向该用户授予要在其中创建文件/文件夹的文件夹的本地资源管理器权限,并调整文件夹属性的"安全"选项卡上的权限。
一般来说,将文件写入半随机位置(尤其是像windows/program files/inetpub这样的系统控制器位置)不是一个好主意。确保您了解您的行为的安全含义。。。
注意:一定要正确构造路径。比起字符串连接和使用随机斜杠/反斜杠字符的长列表,Path.Combine
是更好的方法。