允许用户在asp.net网站中创建文件夹

本文关键字:网站 net 创建 文件夹 asp 许用户 用户 | 更新日期: 2023-09-27 18:10:53

我正在开发一个asp.net网站。我想允许用户在网站内创建自己的文件夹。

string pathToCreate = "~/path/sub folder";
        if (Directory.Exists(Server.MapPath(pathToCreate)))
        {
            // folder exist message
        }
        else
        { //cerate folder
            Directory.CreateDirectory(Server.MapPath(pathToCreate));
            base.OnLoad(e);
        }

这个工作时,我正在调试使用visual studio。但是当我在IIS中托管它时,它显示了对先前指定的路径

的访问被拒绝的错误
Access to the path 'C:'inetpub'wwwroot'sample_site'resources'users_folder' is denied.
Line 47:                 Directory.CreateDirectory(Server.MapPath(pathToCreate));

允许用户在asp.net网站中创建文件夹

默认情况下,ASP不允许写访问。. NET进程在web目录下。

然而,

有一个例外。可以写入App_Data目录。在里面新建一个文件夹

需要整个路径,比如"C:'inetpub'wwwroot'sample_site'resources'users_folder".

使用Server.MapPath("~/YourApplication/folder") + @"'folder"获取文件夹的物理路径

参考

:

http://forums.asp.net/t/1622617.aspx/1

  1. 为正在运行IIS的用户赋予该文件夹的写权限。
  2. 在服务器上创建一个新用户,赋予该用户写权限,并通过添加到web.config:

    & lt;identity impersonate="true" userName=" userName "password ="password"/>

我总是发现2。在我们的环境中效果更好。