file.saveas在本地(调试)模式下获取;“不扎根”;错误。ASP.NETC#

file.saveas在本地(调试)模式下获取;“不扎根”;错误。ASP.NETC#,c#,asp.net,debugging,localhost,server.mappath,C#,Asp.net,Debugging,Localhost,Server.mappath,基本功能:用户上传他们的(本地)图片到(远程)我的网站 如何在本地模式下进行调试而不出现“非根目录”错误 我希望能够保存/编辑/复制/移动到web服务器上的相同目录 在服务器上运行时,我使用server.MapPath,它指向正确的位置。我拥有在目录中读/写的所有权限 那么,如何在不生成“非根目录”错误的情况下指向相同的目录,以便在本地进行调试并验证一切正常 if (upFile.HasFile) { string pathName = "

基本功能:用户上传他们的(本地)图片到(远程)我的网站

如何在本地模式下进行调试而不出现“非根目录”错误

我希望能够保存/编辑/复制/移动到web服务器上的相同目录

在服务器上运行时,我使用server.MapPath,它指向正确的位置。我拥有在目录中读/写的所有权限

那么,如何在不生成“非根目录”错误的情况下指向相同的目录,以便在本地进行调试并验证一切正常

        if (upFile.HasFile)
        {
            string pathName = "";
            if (HttpContext.Current.Request.IsLocal)
                pathName = "http:\\\\www.website.com\\User_Data\\" + imgDir + "\\";
            else
                pathName = HttpContext.Current.Server.MapPath(@"/User_Data/" + imgDir + "/");

            string oldName = pathName + upFile.FileName;
            upFile.PostedFile.SaveAs(oldName);
        }
这会在本地调试模式下生成“非根目录”错误


有什么方法可以实现这一点吗?

也许您需要使用
~
从根目录映射路径:

pathName = HttpContext.Current.Server.MapPath(@"~/User_Data/" + imgDir + "/");

也许您需要使用
~
从根映射路径:

pathName = HttpContext.Current.Server.MapPath(@"~/User_Data/" + imgDir + "/");

谢谢你。Server.MapPath在活动会话中工作。我正在寻找如何在调试模式下指向(使用路径名)这些相同的目录。调试模式下的Server.MapPath指向“C:\mywebsite\User\U Data”而不是“http:\\www.mywebsite\User\u Data\这是我存储和处理图像的地方。只是不想发布,修复发布并反复重复。-甚至不确定这是否可能。Server.MapPath在活动会话中工作。我正在寻找如何在调试模式下指向(使用路径名)这些相同的目录。调试模式下的Server.MapPath指向“C:\mywebsite\User\U Data”而不是“http:\\www.mywebsite\User\u Data\这是我存储和处理图像的地方。只是不想发布,修复发布并反复重复。-甚至不确定这是否可能