Server.MapPath - 无法在ASP.net中找到路径的一部分

时间:2013-05-03 11:25:12

标签: asp.net directory runtime-error

我使用Server.MapPath

将文件上传到我的服务器

当我运行我的代码时,我收到以下错误

  

无法找到路径的一部分   “C:\的Inetpub \ wwwroot的\ WSS \ VirtualDirectories \ 80 \ SITEPAGES \上传\ ABI   员工List.xlsx'。

是的,我的服务器上没有该目录。我这里只有一个目录。

  

“C:\的Inetpub \ wwwroot的\ WSS \ VirtualDirectories \ 80 \

所以,我去创建那些目录。

奇怪的是,如果我在上面的目录中创建一个名为“SitePages”的文件夹,我的网站甚至不想启动?删除它,它再次工作。 (下面的错误图片)

我需要创建该目录以将文件上传到我的服务器,但我不能,因为一切都会中断。我该如何解决这个问题? enter image description here

4 个答案:

答案 0 :(得分:2)

在root中创建目录,例如。 'Foldername'并尝试以下

  DirectoryInfo dir = new DirectoryInfo(HttpContext.Server.MapPath("~/Foldername/"));
            if (!dir.Exists)
            {
                dir.Create();
            }
            // this makes sure that directory has been created
            // do other stuff

答案 1 :(得分:1)

您已在虚拟目录中手动创建一个文件夹名称并尝试以下代码:

    public static string GetPath()
    {
        string Path = string.Empty;
        try
        {
            Path = HttpContext.Current.Server.MapPath("~/FolderName/");
        }
        catch (Exception _e)
        {
        }
        return Path;
    }

答案 2 :(得分:0)

尝试在运行时创建所需的文件夹。 你可以通过

创建一个目录
if(!Directory.Exists("YourDirectory"))
{
Directory.CreateDirectory("YourDirectory")
}

答案 3 :(得分:0)

在root中创建目录,例如。 '图像'并尝试以下

protected void Page_Load(object sender, EventArgs e)
{
}

protected void Button1_Click(object sender, EventArgs e)
{
    FileUpload1.SaveAs(Server.MapPath("~\\Images\\" + FileUpload1.FileName));
}