我在uploads目录中创建了一个目录,在Content目录中创建了一个目录,在创建用户帐户时,我在uploads目录中创建了一个目录。此设置在开发设置上运行良好,但当我在本地IIS上发布站点时,会出现访问拒绝错误。
拒绝对路径'C:\inetpub\wwwroot\Content\uploads/d1bed3b7-f9e1-486a-953a-37abc7b99dad‘的
访问。
我有一个共享的托管环境,我想问的问题是,我是否能够设置共享主机环境的权限?
有什么可供选择的?
编辑
下面是为用户创建目录的代码(tnx to @Marko)
string UserGUID = Guid.NewGuid().ToString();
string path = HostingEnvironment.MapPath(@"~/Content/uploads");
Directory.CreateDirectory(path+"/" + UserGUID);编辑
更改代码后,错误消息已得到改进。
拒绝对路径'C:\inetpub\wwwroot\Content\uploads\ab569312-c487-4a08-bf49-99f7c69303f6‘的
访问。
发布于 2012-06-14 21:43:06
这条路出了问题,你有错误的斜杠/
C:\inetpub\wwwroot\Content\uploads--------->/<----------d1bed3b7-f9e1-486a-953a-37abc7b99dad'只要\uploads\路径具有可写权限,您在该文件夹中创建的任何文件夹/文件,都应该从父文件夹继承权限。
编辑
我并不100%确定它为什么在cassini中工作,但是将代码更改为这个(它使用Path.Combine),而不是手动添加斜杠(这实际上是错误的斜杠)。
string UserGUID = Guid.NewGuid().ToString();
string path = HostingEnvironment.MapPath(@"~/Content/uploads");
string userPath = Path.Combine(path, UserGuid);
Directory.CreateDirectory(userPath);如果所有这些都失败了,请与宿主提供商联系,以便为/uploads/文件夹设置可写权限,如果有此权限,则使用管理面板。
https://stackoverflow.com/questions/11041765
复制相似问题