Server.MapPath()没有获取所需的路径



我有一个asp.net网站,有以下目录:

C: 用户桌面 src 测试网站

我在这里创建了另一个名为files的文件夹:

C:UsersDesktopTestingsrcfiles

从我的项目中,我试图从"文件"文件夹中读取文件,我这样做:

var path = HttpContext.Current.Server.MapPath("/files"); 

我也试过:

var path = HttpContext.Current.Server.MapPath(".."); 

上面写着Failed to map the path '/files'.

这可能是什么原因呢?它能对我的IIS做点什么吗?我怎么才能让这个工作??

谢谢!

你不能这么做。Server.MapPath方法只适用于相对于web应用程序根目录的文件夹,在您的情况下是C:UsersDesktopTestingsrcwebsite。当您离开此ASP的控制域时,您不能使用此方法在层次结构中再上一级。网络应用程序。要做到这一点,你必须使用绝对路径。例如,如果您想读取位于应用程序外部的文件:

var data = File.ReadAllText(@"C:UsersDesktopTestingsrcfilessomefile.txt");

假设网站的虚拟目录映射到…/src/website你需要得到这样的"files"文件夹:

var filesDir = Path.Combine(HttpContext.Current.Server.MapPath("~"), "../files/");

相关内容

  • 没有找到相关文章

最新更新