使用Server.MapPath找到正确的目录

时间:2014-06-12 20:32:02

标签: c# asp.net

我正在使用ASP.NET构建一个webapp。

在我的实体硬盘上:

我的文字文件的路径是:D:\Users\(MyName)\Documents\Visual Studio 2013\Projects\(ProjectName)\(ProjectName)\Data\TextFiles\someFile.txt

.cs文件位于:D:\Users\(MyName)\Documents\Visual Studio 2013\Projects\(ProjectName)\(ProjectName)\Account\someCSFile.cs

在我的代码中,我有以下内容:

string fileName= Server.MapPath("TextFile/someFile.txt");

代码抛出一个异常,说Could not find a part of the path 'D:\Users\(MyName)\Documents\Visual Studio 2013\Projects\(ProjectName)\(ProjectName)\Account\TextFile\someCSFile.cs

我将如何使用Server.MapPath使其成为一个级别"然后找到"数据"文件夹> " TEXTFILES" >最后" someFile.txt"没有硬编码整个文件路径?

2 个答案:

答案 0 :(得分:3)

这应该可以解决问题

string fileName= Server.MapPath(@"..\Data\TextFile\someFile.txt");

看看这个: StackOverflow Post about Server.MapPath

答案 1 :(得分:2)

您可以使用..上升一级:

string fileName= Server.MapPath("../Data/TextFile/someFile.txt");

您也可以通过使用斜杠启动路径从应用程序根目录开始:

string fileName= Server.MapPath("/Data/TextFile/someFile.txt");