0

我在目录中创建了一个目录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”。

4

1 回答 1

2

路径有问题,你有错误的斜线/

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/文件夹的可写权限,或者使用“管理”面板(如果有)。

于 2012-06-14T21:43:06.320 回答